X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/d9cb3c4537f82c8663c19c391bd727235916db6c..fc8cd529d7801658d38d9a4fc82a8b18fe3bbcc6:/src/src/lookups/ldap.c 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 */