Blob Blame History Raw
diff -up ./src/tunnel.cc.orig ./src/tunnel.cc
--- ./src/tunnel.cc.orig	2016-07-01 13:37:50.000000000 +0200
+++ ./src/tunnel.cc	2016-07-15 16:25:07.132823875 +0200
@@ -475,7 +475,9 @@ TunnelStateData::handleConnectResponse(c
     *status_ptr = rep.sline.status();
 
     // we need to relay the 401/407 responses when login=PASS(THRU)
-    const char *pwd = server.conn->getPeer()->login;
+    CachePeer *peer = server.conn->getPeer();
+    const char *pwd = (peer) ? peer->login : NULL;
+
     const bool relay = pwd && (strcmp(pwd, "PASS") != 0 || strcmp(pwd, "PASSTHRU") != 0) &&
                        (*status_ptr == Http::scProxyAuthenticationRequired ||
                         *status_ptr == Http::scUnauthorized);