smbd: Fix a 100% loop at shutdown time
authorVolker Lendecke <vl@samba.org>
Thu, 11 Jul 2013 14:22:26 +0000 (16:22 +0200)
committerKarolin Seeger <kseeger@samba.org>
Mon, 15 Jul 2013 18:56:48 +0000 (20:56 +0200)
In the destructor of fsp->aio_requests[0] we put another request into
fsp->aio_requests[0]. Don't overwrite that with TALLOC_FREE.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Jul 11 20:56:42 CEST 2013 on sn-devel-104
(cherry picked from commit 940395d38bcc348eb5f1be7ba03cd554d9d3bc93)

Fix bug #10013 - 940395d from master needs porting to 4.0 and 4.1.

source3/smbd/close.c

index 5dddf45beb1069198cb239cd306aa731c5a0a45b..e5b1fb78935fa879f467dfaf2286b3bc8e44a317 100644 (file)
@@ -740,9 +740,12 @@ static NTSTATUS close_normal_file(struct smb_request *req, files_struct *fsp,
                while (fsp->num_aio_requests != 0) {
                        /*
                         * The destructor of the req will remove
-                        * itself from the fsp
+                        * itself from the fsp.
+                        * Don't use TALLOC_FREE here, this will overwrite
+                        * what the destructor just wrote into
+                        * aio_requests[0].
                         */
-                       TALLOC_FREE(fsp->aio_requests[0]);
+                       talloc_free(fsp->aio_requests[0]);
                }
        }