Browse Source
Note: The patch now includes all fixes and improvements for dovecot 2.2.2 from the dovecot 2.2 branch up to http://hg.dovecot.org/dovecot-2.2/rev/0e324209d885.user/chris/wip/linux37
1 changed files with 34 additions and 0 deletions
@ -337,3 +337,37 @@ index 462815a..3dab919 100644
|
||||
--
|
||||
1.7.10.2
|
||||
|
||||
|
||||
From b926a5783dc35da61af12d6a4de992ff2964b0e7 Mon Sep 17 00:00:00 2001
|
||||
From: Timo Sirainen <[email protected]>
|
||||
Date: Tue, 21 May 2013 17:09:37 +0300
|
||||
Subject: [PATCH] auth: Fixed crash if LDAP query returned multiple results.
|
||||
|
||||
|
||||
diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c
|
||||
index 955e2e6..c61af85 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)
|
||||
--
|
||||
1.7.10.2
|
||||
|
||||
|
Loading…
Reference in new issue