diff options
author | Ralph Wuerthner <ralph.wuerthner@de.ibm.com> | 2013-07-10 15:52:06 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2013-08-05 16:46:06 -0700 |
commit | ec46f6b91941e38dd92f8e0fb0f278592e3157b6 (patch) | |
tree | 04ac67bc171301e995e1f1b66b65c7fdc98365e8 /source3 | |
parent | 616777f029e462f53c5118d79de8c6405a5fb7c1 (diff) | |
download | samba-ec46f6b91941e38dd92f8e0fb0f278592e3157b6.tar.gz samba-ec46f6b91941e38dd92f8e0fb0f278592e3157b6.tar.bz2 samba-ec46f6b91941e38dd92f8e0fb0f278592e3157b6.zip |
s3:smbd: allow info class SMB_QUERY_FS_VOLUME_INFO to return partial data
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <Volker.Lendecke@SerNet.DE>
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/trans2.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 7617662080..3bd5656cd1 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -3297,6 +3297,12 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)st.st_ex_dev, (u DEBUG(5,("smbd_do_qfsinfo : SMB_QUERY_FS_VOLUME_INFO namelen = %d, vol=%s serv=%s\n", (int)strlen(vname),vname, lp_servicename(talloc_tos(), snum))); + if (max_data_bytes >= 24 && data_len > max_data_bytes) { + /* the client only requested a portion of the + volume label */ + data_len = max_data_bytes; + status = STATUS_BUFFER_OVERFLOW; + } break; case SMB_QUERY_FS_SIZE_INFO: |