summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorRalph Wuerthner <ralph.wuerthner@de.ibm.com>2013-07-10 08:59:58 +0200
committerJeremy Allison <jra@samba.org>2013-08-05 16:46:05 -0700
commita93f9c3d33e442c84d0c9da7eb5d25ca4b54fc33 (patch)
tree364ae75c4c233ac67febafedd9be148a02b20304 /source3/smbd
parent0602009b999142187d74b74be13de8c7f64c7b24 (diff)
downloadsamba-a93f9c3d33e442c84d0c9da7eb5d25ca4b54fc33.tar.gz
samba-a93f9c3d33e442c84d0c9da7eb5d25ca4b54fc33.tar.bz2
samba-a93f9c3d33e442c84d0c9da7eb5d25ca4b54fc33.zip
s3:smbd: return NT_STATUS_INFO_LENGTH_MISMATCH for GetInfo in case output_buffer_length is too small
Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <Volker.Lendecke@SerNet.DE>
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/smb2_getinfo.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/smbd/smb2_getinfo.c b/source3/smbd/smb2_getinfo.c
index 5616c849ad..ec0bad0220 100644
--- a/source3/smbd/smb2_getinfo.c
+++ b/source3/smbd/smb2_getinfo.c
@@ -498,6 +498,11 @@ static struct tevent_req *smbd_smb2_getinfo_send(TALLOC_CTX *mem_ctx,
return tevent_req_post(req, ev);
}
+ if (state->out_output_buffer.length > in_output_buffer_length) {
+ tevent_req_nterror(req, NT_STATUS_INFO_LENGTH_MISMATCH);
+ return tevent_req_post(req, ev);
+ }
+
tevent_req_done(req);
return tevent_req_post(req, ev);
}