summaryrefslogtreecommitdiff
path: root/source3/smbd/server_exit.c
diff options
context:
space:
mode:
authorChristian Ambach <ambi@samba.org>2011-07-04 17:55:54 +0200
committerChristian Ambach <ambi@samba.org>2011-07-04 20:00:26 +0200
commitad4a10dd059c8b33cf7d606af292dd6f6653f3ef (patch)
treef75a5c32c72878c6fad75e19efc90a94fcb80173 /source3/smbd/server_exit.c
parent0bec150ab184903e17702e4d684d35d0d2c88010 (diff)
downloadsamba-ad4a10dd059c8b33cf7d606af292dd6f6653f3ef.tar.gz
samba-ad4a10dd059c8b33cf7d606af292dd6f6653f3ef.tar.bz2
samba-ad4a10dd059c8b33cf7d606af292dd6f6653f3ef.zip
s3:smb2 fix smbd crash on premature end of smb2 conn (Bug 8286)
when smbd tries to clean up locks after a premature end of a smb2 connection, lock_db has already been freed and so it crashes this patch changes the order in which items are freed so that lock_db is still around when it is needed Jeremy, Metze, please check Autobuild-User: Christian Ambach <ambi@samba.org> Autobuild-Date: Mon Jul 4 20:00:26 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3/smbd/server_exit.c')
-rw-r--r--source3/smbd/server_exit.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source3/smbd/server_exit.c b/source3/smbd/server_exit.c
index c7a318d891..05a4ece8e3 100644
--- a/source3/smbd/server_exit.c
+++ b/source3/smbd/server_exit.c
@@ -152,9 +152,6 @@ static void exit_server_common(enum server_exit_reason how,
rpc_lsarpc_shutdown();
}
- locking_end();
- printing_end();
-
/*
* we need to force the order of freeing the following,
* because smbd_msg_ctx is not a talloc child of smbd_server_conn.
@@ -165,6 +162,9 @@ static void exit_server_common(enum server_exit_reason how,
server_event_context_free();
TALLOC_FREE(smbd_memcache_ctx);
+ locking_end();
+ printing_end();
+
if (how != SERVER_EXIT_NORMAL) {
DEBUGSEP(0);
DEBUG(0,("Abnormal server exit: %s\n",