diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-06-16 06:49:24 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:56:42 -0500 |
commit | b00103dac1bf9e559e132c62e768dba9408b94eb (patch) | |
tree | 34673c3c65854992a7bc16b95e9e6d1d976b2979 /source4/smb_server/trans2.c | |
parent | eca6982a951b7f7051d6386a58cf35caedc84f3b (diff) | |
download | samba-b00103dac1bf9e559e132c62e768dba9408b94eb.tar.gz samba-b00103dac1bf9e559e132c62e768dba9408b94eb.tar.bz2 samba-b00103dac1bf9e559e132c62e768dba9408b94eb.zip |
r1165: fixed handling of SMBtrans replies that should return STATUS_BUFFER_OVERFLOW when more data is present.
(This used to be commit 0e557fe85748558affd20a58455c4b75fee69e27)
Diffstat (limited to 'source4/smb_server/trans2.c')
-rw-r--r-- | source4/smb_server/trans2.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source4/smb_server/trans2.c b/source4/smb_server/trans2.c index b755c6dd7c..6985e0a4d1 100644 --- a/source4/smb_server/trans2.c +++ b/source4/smb_server/trans2.c @@ -1307,7 +1307,7 @@ void reply_trans_generic(struct request_context *req, uint8_t command) status = trans2_backend(req, &trans); } - if (!NT_STATUS_IS_OK(status)) { + if (NT_STATUS_IS_ERR(status)) { req_reply_error(req, status); return; } @@ -1326,6 +1326,10 @@ void reply_trans_generic(struct request_context *req, uint8_t command) uint_t align1 = 1, align2 = (params_left ? 2 : 0); req_setup_reply(req, 10 + trans.out.setup_count, 0); + + if (!NT_STATUS_IS_OK(status)) { + req_setup_error(req, status); + } max_bytes = req_max_data(req) - (align1 + align2); |