From: Timo Sirainen Date: Tue, 21 May 2013 14:09:37 +0000 (+0300) Subject: auth: Fixed crash if LDAP query returned multiple results. X-Git-Tag: 2.2.3~141 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80ef919fa14d4196bcbf1e486d2d549154fa62e8;p=thirdparty%2Fdovecot%2Fcore.git auth: Fixed crash if LDAP query returned multiple results. --- diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c index 955e2e620f..c61af85944 100644 --- a/src/auth/db-ldap.c +++ b/src/auth/db-ldap.c @@ -825,8 +825,10 @@ static void db_ldap_request_free(struct ldap_request *request, LDAPMessage *res) if (srequest->result == res) res = NULL; - if (srequest->result != NULL) + if (srequest->result != NULL) { ldap_msgfree(srequest->result); + srequest->result = NULL; + } if (array_is_created(&srequest->named_results)) { array_foreach(&srequest->named_results, named_res) { @@ -835,6 +837,7 @@ static void db_ldap_request_free(struct ldap_request *request, LDAPMessage *res) if (named_res->result != NULL) ldap_msgfree(named_res->result); } + array_clear(&srequest->named_results); } } if (res != NULL)