]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Polish: complete Digest authentication constructors
authorAmos Jeffries <squid3@treenet.co.nz>
Fri, 25 Jan 2013 09:09:52 +0000 (02:09 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 25 Jan 2013 09:09:52 +0000 (02:09 -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 355cc47f9ca6d6d06bf704765d888bd8e539e828..fbbb43069ec869a540b6f23ac363aae9117de137 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 b70f744659a0cf321a58a96d559a0d20b728ea80..112b3d4904886e2d2dfcee5af90ff30bcd5d8aa9 100644 (file)
@@ -763,7 +763,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);