changeset 6151:e841f00d368c HEAD

auth_bind=yes and empty auth_bind_userdn leaked memory.
author Timo Sirainen <tss@iki.fi>
date Mon, 30 Jul 2007 09:17:51 +0300
parents 6d6f0e4bd20d
children 58144db52331
files src/auth/passdb-ldap.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/passdb-ldap.c	Fri Jun 29 16:40:10 2007 -0400
+++ b/src/auth/passdb-ldap.c	Mon Jul 30 09:17:51 2007 +0300
@@ -262,6 +262,7 @@
 		(struct passdb_ldap_request *)ldap_request;
 	struct auth_request *auth_request = ldap_request->context;
 	LDAPMessage *entry;
+	char *dn;
 
 	entry = handle_request_get_entry(conn, auth_request,
 					 passdb_ldap_request, res);
@@ -271,8 +272,10 @@
 	ldap_query_save_result(conn, entry, auth_request);
 
 	/* switch the handler to the authenticated bind handler */
-	ldap_request->base =
-		p_strdup(auth_request->pool, ldap_get_dn(conn->ld, entry));
+	dn = ldap_get_dn(conn->ld, entry);
+	ldap_request->base = p_strdup(auth_request->pool, dn);
+	ldap_memfree(dn);
+
 	ldap_request->filter = NULL;
 	ldap_request->callback = handle_request_authbind;