From 92167619dc8f409c69292eee3d93dedbc46cadde Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Mon, 26 Nov 2012 01:35:13 -0700 Subject: [PATCH] digest_edirectory_auth: improved error handling Malicious response from LDAP server can cause squid helper to crash. Missing realm value returned from LDAP without error/missing value being indicated in the response can lead to strcmp() using a NULL pointer. Extremely unlikely to happen in practice, but worth fixing. Detected by Coverity Scan. Issue 740399 --- helpers/digest_auth/eDirectory/ldap_backend.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/helpers/digest_auth/eDirectory/ldap_backend.cc b/helpers/digest_auth/eDirectory/ldap_backend.cc index 2c1f7a4f1f..134dab943c 100644 --- a/helpers/digest_auth/eDirectory/ldap_backend.cc +++ b/helpers/digest_auth/eDirectory/ldap_backend.cc @@ -286,7 +286,8 @@ retrydnattr: value = values; while (*value) { if (encrpass) { - if (strcmp(strtok(*value, delimiter), realm) == 0) { + const char *t = strtok(*value, delimiter); + if (t && strcmp(t, realm) == 0) { password = strtok(NULL, delimiter); break; } -- 2.47.2