summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-08-11 15:02:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:29:30 -0500
commitd90f6fa1bd9f4aa1e09de1169597e0c703859b75 (patch)
treeac39ddf74727518d8b6a0d85ecbc8938d21327b2 /source3/smbd
parent26f6826dfc996fe4d170dc7bc5ef2a728c9ddcaf (diff)
downloadsamba-d90f6fa1bd9f4aa1e09de1169597e0c703859b75.tar.gz
samba-d90f6fa1bd9f4aa1e09de1169597e0c703859b75.tar.bz2
samba-d90f6fa1bd9f4aa1e09de1169597e0c703859b75.zip
r24328: Restore chain_reply error handling
Get the whole smb header from the second chained function, in particular the error fields (This used to be commit 0eb831ca0eadb725242cb4ad75eb7008a5c18bf2)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/process.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 9624ca0e49..adc3f638e0 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -1500,9 +1500,10 @@ int chain_reply(char *inbuf,char **poutbuf,int size,int bufsize)
memcpy(outbuf + smb_wct, caller_output, caller_outputlen);
/*
- * The secondary function has overwritten smb_com
+ * copy the new reply header over the old one but preserve the smb_com
+ * field
*/
-
+ memmove(outbuf,outbuf2,smb_wct);
SCVAL(outbuf, smb_com, smb_com1);
/*