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

index 5cf1036a59e8126053ab0befa5f605eded340a2d..a513e594883192ccc3e7839b17690b4c4a42849d 100644 (file)
@@ -4543,18 +4543,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 */