The branch, master has been updated
       via  ddc1f3d Ensure we always free aio_ex on all error paths by moving 
the TALLOC_FREE call out of smbd_aio_complete_aio_ex() and into the caller.
      from  f15cf91 Second part of fix for bug #8673 - NT ACL issue.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit ddc1f3df5183081aeb7c5b97b7fa4426c772346d
Author: Jeremy Allison <j...@samba.org>
Date:   Wed Jan 11 16:37:48 2012 -0800

    Ensure we always free aio_ex on all error paths by moving the TALLOC_FREE
    call out of smbd_aio_complete_aio_ex() and into the caller.
    
    Autobuild-User: Jeremy Allison <j...@samba.org>
    Autobuild-Date: Thu Jan 12 03:10:52 CET 2012 on sn-devel-104

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

Summary of changes:
 source3/modules/vfs_aio_fork.c    |    1 +
 source3/modules/vfs_aio_pthread.c |    3 ++-
 source3/smbd/aio.c                |    3 +--
 3 files changed, 4 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_aio_fork.c b/source3/modules/vfs_aio_fork.c
index 01eb97d..bcd7c6a 100644
--- a/source3/modules/vfs_aio_fork.c
+++ b/source3/modules/vfs_aio_fork.c
@@ -434,6 +434,7 @@ static void handle_aio_completion(struct event_context 
*event_ctx,
 
        aio_ex = (struct aio_extra 
*)child->aiocb->aio_sigevent.sigev_value.sival_ptr;
        smbd_aio_complete_aio_ex(aio_ex);
+       TALLOC_FREE(aio_ex);
 }
 
 static int aio_child_destructor(struct aio_child *child)
diff --git a/source3/modules/vfs_aio_pthread.c 
b/source3/modules/vfs_aio_pthread.c
index 82611b0..b6d4e1e 100644
--- a/source3/modules/vfs_aio_pthread.c
+++ b/source3/modules/vfs_aio_pthread.c
@@ -296,7 +296,7 @@ static void aio_pthread_handle_completion(struct 
event_context *event_ctx,
 
        DEBUG(10,("aio_pthread_handle_completion: jobid %d completed\n",
                jobid ));
-
+       TALLOC_FREE(aio_ex);
 }
 
 /************************************************************************
@@ -424,6 +424,7 @@ static void aio_pthread_handle_immediate(struct 
tevent_context *ctx,
        TALLOC_FREE(pjobid);
        aio_ex = (struct aio_extra 
*)pd->aiocb->aio_sigevent.sigev_value.sival_ptr;
        smbd_aio_complete_aio_ex(aio_ex);
+       TALLOC_FREE(aio_ex);
 }
 
 /************************************************************************
diff --git a/source3/smbd/aio.c b/source3/smbd/aio.c
index 07b8388..44081f6 100644
--- a/source3/smbd/aio.c
+++ b/source3/smbd/aio.c
@@ -67,6 +67,7 @@ static void smbd_aio_signal_handler(struct tevent_context 
*ev_ctx,
                                info->si_value.sival_ptr;
 
        smbd_aio_complete_aio_ex(aio_ex);
+       TALLOC_FREE(aio_ex);
 }
 
 
@@ -931,8 +932,6 @@ void smbd_aio_complete_aio_ex(struct aio_extra *aio_ex)
        if (!handle_aio_completed(aio_ex, &ret)) {
                return;
        }
-
-       TALLOC_FREE(aio_ex);
 }
 
 /****************************************************************************


-- 
Samba Shared Repository

Reply via email to