From: Amos Jeffries Date: Tue, 4 Jun 2013 04:21:48 +0000 (-0600) Subject: Fix NULL-dereference added in rev.12779 X-Git-Tag: SQUID_3_4_0_1~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87a122b0dd6dd8e1f9c7b60d7d2932c406c87103;p=thirdparty%2Fsquid.git Fix NULL-dereference added in rev.12779 With the change of helper responses from Notes to NotePairs the errNote in NTLM ERR/NA responses was altered to a potentially NULL char*, and allowed to be printed in debugs() level 4. This updated NTLM and Negotiate halpers to print the helper response as "Result: ..." in identical fashion. Detected by Coverity Scan. Issue 1020655. --- diff --git a/src/auth/negotiate/UserRequest.cc b/src/auth/negotiate/UserRequest.cc index 3ffc04dbb6..2115841ade 100644 --- a/src/auth/negotiate/UserRequest.cc +++ b/src/auth/negotiate/UserRequest.cc @@ -319,7 +319,7 @@ Auth::Negotiate::UserRequest::HandleReply(void *data, const HelperReply &reply) if (tokenNote != NULL) lm_request->server_blob = xstrdup(tokenNote); lm_request->releaseAuthServer(); - debugs(29, 4, HERE << "Failed validating user via Negotiate. Error returned '" << reply << "'"); + debugs(29, 4, "Failed validating user via Negotiate. Result: " << reply); } break; @@ -343,7 +343,7 @@ Auth::Negotiate::UserRequest::HandleReply(void *data, const HelperReply &reply) auth_user_request->user()->credentials(Auth::Failed); safe_free(lm_request->server_blob); lm_request->releaseAuthServer(); - debugs(29, DBG_IMPORTANT, "ERROR: Negotiate Authentication validating user. Error returned " << reply); + debugs(29, DBG_IMPORTANT, "ERROR: Negotiate Authentication validating user. Result: " << reply); } // break; } diff --git a/src/auth/ntlm/UserRequest.cc b/src/auth/ntlm/UserRequest.cc index c4297dde08..a7516be83a 100644 --- a/src/auth/ntlm/UserRequest.cc +++ b/src/auth/ntlm/UserRequest.cc @@ -301,7 +301,7 @@ Auth::Ntlm::UserRequest::HandleReply(void *data, const HelperReply &reply) auth_user_request->user()->credentials(Auth::Failed); safe_free(lm_request->server_blob); lm_request->releaseAuthServer(); - debugs(29, 4, HERE << "Failed validating user via NTLM. Error returned '" << errNote << "'"); + debugs(29, 4, "Failed validating user via NTLM. Result: " << reply); } break; @@ -325,7 +325,7 @@ Auth::Ntlm::UserRequest::HandleReply(void *data, const HelperReply &reply) auth_user_request->user()->credentials(Auth::Failed); safe_free(lm_request->server_blob); lm_request->releaseAuthServer(); - debugs(29, DBG_IMPORTANT, "ERROR: NTLM Authentication validating user. Error returned '" << reply << "'"); + debugs(29, DBG_IMPORTANT, "ERROR: NTLM Authentication validating user. Result: " << reply); } break; }