[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Wed Jan 11 19:11:02 MST 2012


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 <jra at 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 <jra at 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


More information about the samba-cvs mailing list