summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-09-24 03:59:53 +0200
committerStefan Metzmacher <metze@samba.org>2008-09-24 04:08:31 +0200
commitb7d2ff38f54250db52c495d26a2b2923e5dcc83e (patch)
treea989eb62a8b7fc8765ee840d577201c5ac9bdacb
parent4962a4459ba73535d39eaa0fb77fd6bbf3f9bd7a (diff)
downloadsamba-b7d2ff38f54250db52c495d26a2b2923e5dcc83e.tar.gz
samba-b7d2ff38f54250db52c495d26a2b2923e5dcc83e.tar.bz2
samba-b7d2ff38f54250db52c495d26a2b2923e5dcc83e.zip
s4:libcli/smb_composite: we only check the signature when the server return OK
We need to manually free the request, otherwise the timeout handler is triggered later. metze
-rw-r--r--source4/libcli/smb_composite/sesssetup.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source4/libcli/smb_composite/sesssetup.c b/source4/libcli/smb_composite/sesssetup.c
index 92b49dc3d4..645f5362ac 100644
--- a/source4/libcli/smb_composite/sesssetup.c
+++ b/source4/libcli/smb_composite/sesssetup.c
@@ -97,6 +97,15 @@ static void request_handler(struct smbcli_request *req)
c->status = state->remote_status;
state->req = NULL;
+ /*
+ * we only need to check the signature if the
+ * NT_STATUS_OK is returned
+ */
+ if (!NT_STATUS_IS_OK(state->remote_status)) {
+ talloc_free(check_req);
+ check_req = NULL;
+ }
+
switch (state->setup.old.level) {
case RAW_SESSSETUP_OLD:
state->io->out.vuid = state->setup.old.out.vuid;