From fc8cd529d7801658d38d9a4fc82a8b18fe3bbcc6 Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Sun, 11 Mar 2018 18:46:23 +0000 Subject: Fix ldap lookups for zero-length attribute value. Bug 2251 Broken-by: acec9514b1 --- src/src/lookups/ldap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/src/lookups/ldap.c b/src/src/lookups/ldap.c index 2ebe734cd..63c0edf79 100644 --- a/src/src/lookups/ldap.c +++ b/src/src/lookups/ldap.c @@ -840,13 +840,13 @@ while ((rc = ldap_result(lcp->ld, msgid, 0, timeoutptr, &result)) == result = NULL; } /* End "while" loop for multiple results */ -/* Terminate the dynamic string that we have built and reclaim unused store */ +/* Terminate the dynamic string that we have built and reclaim unused store. +In the odd case of a single attribute with zero-length value, allocate +an empty string. */ -if (data) - { - (void) string_from_gstring(data); - gstring_reset_unused(data); - } +if (!data) data = string_get(1); +(void) string_from_gstring(data); +gstring_reset_unused(data); /* Copy the last dn into eldap_dn */ -- cgit v1.2.3