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 <me...@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

Reply via email to