From d90f6fa1bd9f4aa1e09de1169597e0c703859b75 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 11 Aug 2007 15:02:58 +0000 Subject: 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) --- source3/smbd/process.c | 5 +++-- 1 file 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); /* -- cgit