From: Alex Rousskov Date: Wed, 1 Feb 2012 05:11:10 +0000 (-0700) Subject: HttpRequest::SetHost() must invalidate HttpRequest::canonical "cache" X-Git-Tag: BumpSslServerFirst.take04~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9ecfe8ad94a7be1bfe483705563254cd5606d78;p=thirdparty%2Fsquid.git HttpRequest::SetHost() must invalidate HttpRequest::canonical "cache" because the call alters canonical URI. This change makes the callers simpler and safer. --- diff --git a/src/HttpRequest.h b/src/HttpRequest.h index b9bea3e8c6..d5641c1ca4 100644 --- a/src/HttpRequest.h +++ b/src/HttpRequest.h @@ -100,6 +100,7 @@ public: debugs(23, 3, "HttpRequest::SetHost() given IP: " << host_addr); host_is_numeric = 1; } + safe_free(canonical); // force its re-build }; inline const char* GetHost(void) const { return host; }; inline int GetHostIsNumeric(void) const { return host_is_numeric; }; diff --git a/src/url.cc b/src/url.cc index 5660c53d58..37fc8c9871 100644 --- a/src/url.cc +++ b/src/url.cc @@ -441,7 +441,6 @@ urlParseFinish(const HttpRequestMethod& method, request = new HttpRequest(method, protocol, urlpath); else { request->initHTTP(method, protocol, urlpath); - safe_free(request->canonical); } request->SetHost(host);