diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2008-12-23 22:12:23 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-12-23 22:12:23 +0100 |
commit | 5c75b65ca15f7c71babd835a45b252fed6534acf (patch) | |
tree | 6b8baa3f5d27c4eafd89fece7deedae30a6ff1fd /source3/smbd/trans2.c | |
parent | 86cee0b28c50dd849fe919bbe3faa4deba5275bf (diff) | |
parent | ff26cb4b1c1d0292231e1cfc0490f4be6040d3e3 (diff) | |
download | samba-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.c | 11 |
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; |