summaryrefslogtreecommitdiff
path: root/source3/smbd/nttrans.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-12-15 00:49:12 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:16:29 -0500
commitd29722e378011e6085e007e1e6c39a9f002eb2fe (patch)
tree33868139ba382717ad5ed5b5067723cc6bbaf18b /source3/smbd/nttrans.c
parent806daad51088bddcedda0274333b3f9e17cc26b3 (diff)
downloadsamba-d29722e378011e6085e007e1e6c39a9f002eb2fe.tar.gz
samba-d29722e378011e6085e007e1e6c39a9f002eb2fe.tar.bz2
samba-d29722e378011e6085e007e1e6c39a9f002eb2fe.zip
r20178: Ensure we allocate the intermediate trans structs
off conn->mem_ctx, not the null context so we can safefy free everything on conn close. Should fix possible memleak. Jeremy. (This used to be commit b33bde7b39953e171f05cdb53b6345ee3a9ec6e7)
Diffstat (limited to 'source3/smbd/nttrans.c')
-rw-r--r--source3/smbd/nttrans.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 3ade5b01c6..0cee421667 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -2845,7 +2845,7 @@ int reply_nttrans(connection_struct *conn,
return ERROR_NT(result);
}
- if ((state = TALLOC_P(NULL, struct trans_state)) == NULL) {
+ if ((state = TALLOC_P(conn->mem_ctx, struct trans_state)) == NULL) {
END_PROFILE(SMBnttrans);
return ERROR_DOS(ERRSRV,ERRaccess);
}
@@ -2862,6 +2862,7 @@ int reply_nttrans(connection_struct *conn,
/* setup count is in *words* */
state->setup_count = 2*CVAL(inbuf,smb_nt_SetupCount);
+ state->setup = NULL;
state->call = function_code;
/*