]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
HttpRequest::SetHost() must invalidate HttpRequest::canonical "cache"
authorAlex Rousskov <rousskov@measurement-factory.com>
Wed, 1 Feb 2012 05:11:10 +0000 (22:11 -0700)
committerAlex Rousskov <rousskov@measurement-factory.com>
Wed, 1 Feb 2012 05:11:10 +0000 (22:11 -0700)
because the call alters canonical URI.

This change makes the callers simpler and safer.

src/HttpRequest.h
src/url.cc

index b9bea3e8c6dcb22e97b3d76bfe6dad6e94cf3738..d5641c1ca48c0901a863abf658674db349a01ae6 100644 (file)
@@ -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; };
index 5660c53d58eb0dd54256b53d20dab0d759e1155b..37fc8c98714d224699759c3b10421b35cc818b8f 100644 (file)
@@ -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);