------------------------------------------------------------ revno: 13051 revision-id: squid3@treenet.co.nz-20131206121941-b5b7wwqsa2i2diz1 parent: squid3@treenet.co.nz-20131206121819-462aw0u9mddfygac fixes bug(s): http://bugs.squid-cache.org/show_bug.cgi?id=3935 author: Christos Tsantilas committer: Amos Jeffries branch nick: 3.4 timestamp: Fri 2013-12-06 05:19:41 -0700 message: Bug 3935: Invalid pointer dereference when peeking at origin server certificate We must check request->clientConnectionManager pointer for validity before dereferencing it. This is a Measurement Factory project ------------------------------------------------------------ # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: squid3@treenet.co.nz-20131206121941-b5b7wwqsa2i2diz1 # target_branch: http://bzr.squid-cache.org/bzr/squid3/3.4 # testament_sha1: 3d3e7e4c9c91e08e2cc6546f1e4771e0be968912 # timestamp: 2013-12-06 12:23:17 +0000 # source_branch: http://bzr.squid-cache.org/bzr/squid3/3.4 # base_revision_id: squid3@treenet.co.nz-20131206121819-\ # 462aw0u9mddfygac # # Begin patch === modified file 'src/acl/Acl.h' --- src/acl/Acl.h 2013-09-28 15:38:33 +0000 +++ src/acl/Acl.h 2013-12-06 12:19:41 +0000 @@ -135,7 +135,7 @@ char name[ACL_NAME_SZ]; char *cfgline; - ACL *next; + ACL *next; // XXX: remove or at least use refcounting ACLFlags flags; ///< The list of given ACL flags bool registered; ///< added to Config.aclList and can be reused via by FindByName() @@ -247,6 +247,7 @@ MEMPROXY_CLASS_INLINE(acl_proxy_auth_match_cache); /// \ingroup ACLAPI +/// XXX: find a way to remove or at least use a refcounted ACL pointer extern const char *AclMatchedName; /* NULL */ #endif /* SQUID_ACL_H */ === modified file 'src/acl/InnerNode.h' --- src/acl/InnerNode.h 2013-05-28 14:28:15 +0000 +++ src/acl/InnerNode.h 2013-12-06 12:19:41 +0000 @@ -40,6 +40,7 @@ /* ACL API */ virtual int match(ACLChecklist *checklist); + // XXX: use refcounting instead of raw pointers std::vector nodes; ///< children nodes of this intermediate node };