From: Martin Stolle Date: Thu, 18 Jul 2013 05:02:23 +0000 (-0600) Subject: Bug 3879: assertion failed ConnStateData::validatePinnedConnection X-Git-Tag: SQUID_3_4_0_1~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6de3828e84a00a8e8d407b21c4f6512637d85930;p=thirdparty%2Fsquid.git Bug 3879: assertion failed ConnStateData::validatePinnedConnection --- diff --git a/src/client_side.cc b/src/client_side.cc index 5cf1036a59..a513e59488 100644 --- a/src/client_side.cc +++ b/src/client_side.cc @@ -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 */