[SCM] Samba Shared Repository - branch v3-6-test updated

Karolin Seeger kseeger at samba.org
Tue Jan 10 13:02:00 MST 2012


The branch, v3-6-test has been updated
       via  740a001 libcli/cldap: fix a crash bug in cldap_socket_recv_dgram() (bug #8593)
      from  ff4e1df s3:lib/ctdbd_conn: try ctdbd_init_connection() as root (bug #8684)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 740a001971bab647c1ab129b3dd2fbccaddc4e7b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Nov 10 14:43:55 2011 +0100

    libcli/cldap: fix a crash bug in cldap_socket_recv_dgram() (bug #8593)
    
    After a calling any wrapper of tevent_req_notify_callback(),
    e.g. tevent_req_nterror(), tevent_req_done(), tevent_req_nomem(),
    a function has to return immediately otherwise it is very likely to
    crash.
    
    metze
    
    (similar to commit 17f1a97a614db4ed8292544988cb6a6cf56621d8)

-----------------------------------------------------------------------

Summary of changes:
 libcli/cldap/cldap.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/cldap/cldap.c b/libcli/cldap/cldap.c
index 363ffbd..aa34a6d 100644
--- a/libcli/cldap/cldap.c
+++ b/libcli/cldap/cldap.c
@@ -273,12 +273,9 @@ static bool cldap_socket_recv_dgram(struct cldap_socket *c,
 
 	DLIST_REMOVE(c->searches.list, search);
 
-	if (!cldap_recvfrom_setup(c)) {
-		goto nomem;
-	}
+	cldap_recvfrom_setup(c);
 
 	tevent_req_done(search->req);
-	talloc_free(in);
 	return true;
 
 nomem:
@@ -286,6 +283,7 @@ nomem:
 error:
 	status = map_nt_error_from_unix(in->recv_errno);
 nterror:
+	TALLOC_FREE(in);
 	/* in connected mode the first pending search gets the error */
 	if (!c->connected) {
 		/* otherwise we just ignore the error */
@@ -294,9 +292,11 @@ nterror:
 	if (!c->searches.list) {
 		goto done;
 	}
+	cldap_recvfrom_setup(c);
 	tevent_req_nterror(c->searches.list->req, status);
+	return true;
 done:
-	talloc_free(in);
+	TALLOC_FREE(in);
 	return false;
 }
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list