]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 3879: assertion failed ConnStateData::validatePinnedConnection
authorMartin Stolle <martin.stolle@ekom21.de>
Fri, 26 Jul 2013 12:34:37 +0000 (06:34 -0600)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 26 Jul 2013 12:34:37 +0000 (06:34 -0600)
src/client_side.cc

index ff46ad8d8a7e704dbb872b6300e0ced141496078..b7227e3d597d82f63b3e2894ea171955dcb7a55e 100644 (file)
@@ -4475,18 +4475,14 @@ ConnStateData::validatePinnedConnection(HttpRequest *request, const CachePeer *a
     bool valid = true;
     if (!Comm::IsConnOpen(pinning.serverConnection))
         valid = false;
-    if (pinning.auth && request && strcasecmp(pinning.host, request->GetHost()) != 0) {
+    else if (pinning.auth && pinning.host && request && strcasecmp(pinning.host, request->GetHost()) != 0)
         valid = false;
-    }
-    if (request && pinning.port != request->port) {
+    else if (request && pinning.port != request->port)
         valid = false;
-    }
-    if (pinning.peer && !cbdataReferenceValid(pinning.peer)) {
+    else if (pinning.peer && !cbdataReferenceValid(pinning.peer))
         valid = false;
-    }
-    if (aPeer != pinning.peer) {
+    else if (aPeer != pinning.peer)
         valid = false;
-    }
 
     if (!valid) {
         /* The pinning info is not safe, remove any pinning info */