summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2013-08-27 09:40:19 +0000
committerKarolin Seeger <kseeger@samba.org>2013-09-06 10:49:50 +0200
commit41a7d66a399c3e1ad999dce5d14570d60c4d53d2 (patch)
tree92ed07a8cb86d4790a8275bc1c3aee96a63b21b2
parenta63ca3ed840ca4ab19b4b4bd9238b663228ac2a6 (diff)
downloadsamba-41a7d66a399c3e1ad999dce5d14570d60c4d53d2.tar.gz
smbd: Correctly return INFO_LENGTH_MISMATCH for smb1
This is required if the client offered less buffer than the fixed portion of the info level data requires Bug: https://bugzilla.samba.org/show_bug.cgi?id=10106 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 1b1935b876a14154ef74e447bf53eb7cd0a5dde9)
-rw-r--r--source3/smbd/trans2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 3c8c06fa982..26b65234e43 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -5493,6 +5493,10 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd
reply_nterror(req, status);
return;
}
+ if (fixed_portion > max_data_bytes) {
+ reply_nterror(req, NT_STATUS_INFO_LENGTH_MISMATCH);
+ return;
+ }
send_trans2_replies(conn, req, params, param_size, *ppdata, data_size,
max_data_bytes);