summaryrefslogtreecommitdiffstats
path: root/source3/smbd/trans2.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-12-23 22:12:23 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-12-23 22:12:23 +0100
commit5c75b65ca15f7c71babd835a45b252fed6534acf (patch)
tree6b8baa3f5d27c4eafd89fece7deedae30a6ff1fd /source3/smbd/trans2.c
parent86cee0b28c50dd849fe919bbe3faa4deba5275bf (diff)
parentff26cb4b1c1d0292231e1cfc0490f4be6040d3e3 (diff)
downloadsamba-5c75b65ca15f7c71babd835a45b252fed6534acf.tar.gz
samba-5c75b65ca15f7c71babd835a45b252fed6534acf.tar.xz
samba-5c75b65ca15f7c71babd835a45b252fed6534acf.zip
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Diffstat (limited to 'source3/smbd/trans2.c')
-rw-r--r--source3/smbd/trans2.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 27e29515e4..1d724bafd8 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -3687,7 +3687,7 @@ static NTSTATUS marshall_stream_info(unsigned int num_streams,
unsigned int i;
unsigned int ofs = 0;
- for (i=0; i<num_streams; i++) {
+ for (i = 0; i < num_streams && ofs <= max_data_bytes; i++) {
unsigned int next_offset;
size_t namelen;
smb_ucs2_t *namebuf;
@@ -3706,11 +3706,6 @@ static NTSTATUS marshall_stream_info(unsigned int num_streams,
namelen -= 2;
- if (ofs + 24 + namelen > max_data_bytes) {
- TALLOC_FREE(namebuf);
- return NT_STATUS_BUFFER_TOO_SMALL;
- }
-
SIVAL(data, ofs+4, namelen);
SOFF_T(data, ofs+8, streams[i].size);
SOFF_T(data, ofs+16, streams[i].alloc_size);
@@ -3725,10 +3720,6 @@ static NTSTATUS marshall_stream_info(unsigned int num_streams,
else {
unsigned int align = ndr_align_size(next_offset, 8);
- if (next_offset + align > max_data_bytes) {
- return NT_STATUS_BUFFER_TOO_SMALL;
- }
-
memset(data+next_offset, 0, align);
next_offset += align;