]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Polish: complete Digest authentication constructors
authorAmos Jeffries <squid3@treenet.co.nz>
Mon, 28 Jan 2013 04:16:21 +0000 (21:16 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Mon, 28 Jan 2013 04:16:21 +0000 (21:16 -0700)
* update several Digest auth constructors to fully initialize
   their fields.

* Also, fix one segmentation fault at level 9 debug in Digest auth.

  Detected by Coverity Scan. Issues 740536, 740537, 740366.

src/auth/digest/User.cc
src/auth/digest/UserRequest.cc
src/auth/digest/auth_digest.cc

index 03c2edf4ff8f83f63a2cadaaf735076a1b8f218e..1cf7dd0ba51b5df061ee5569484e093b84bf916b 100644 (file)
@@ -9,7 +9,9 @@
 Auth::Digest::User::User(Auth::Config *aConfig) :
         Auth::User(aConfig),
         HA1created(0)
-{}
+{
+    memset(HA1, 0, sizeof(HA1));
+}
 
 Auth::Digest::User::~User()
 {
index d53c3400299be0003d86a0a13a00ec720aee9bbc..2d395d690577f17e540a63601673641a098d5538 100644 (file)
@@ -20,7 +20,10 @@ Auth::Digest::UserRequest::UserRequest() :
         uri(NULL),
         response(NULL),
         nonce(NULL)
-{}
+{
+    memset(nc, 0, sizeof(nc));
+    memset(&flags, 0, sizeof(flags));
+}
 
 /**
  * Delete the digest request structure.
index efda8a7f842fbef8e4869e5a75da62d15d6fe98d..0c1a9fa6bb513da0d68f42cbd7220d4f2e2c1851 100644 (file)
@@ -764,7 +764,7 @@ authDigestLogUsername(char *username, Auth::UserRequest::Pointer auth_user_reque
     assert(auth_user_request != NULL);
 
     /* log the username */
-    debugs(29, 9, "authDigestLogUsername: Creating new user for logging '" << username << "'");
+    debugs(29, 9, "Creating new user for logging '" << (username?username:"[no username]") << "'");
     Auth::User::Pointer digest_user = new Auth::Digest::User(static_cast<Auth::Digest::Config*>(Auth::Config::Find("digest")));
     /* save the credentials */
     digest_user->username(username);