summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Wuerthner <ralph.wuerthner@de.ibm.com>2013-07-10 16:43:39 +0200
committerKarolin Seeger <kseeger@samba.org>2013-09-18 10:41:21 +0200
commit88a9516a0eb69431df59e2b4ea4150a10786b018 (patch)
treea3cf794125b02053fba63482f772dbfd647d3995
parent1ad9d25a37d747e38d99bcc2dacefc1cbe4b9045 (diff)
downloadsamba-88a9516a0eb69431df59e2b4ea4150a10786b018.tar.gz
s3:smbd: allow info class SMB_QUERY_FS_ATTRIBUTE_INFO to return partial data
Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <Volker.Lendecke@SerNet.DE> (cherry picked from commit 270d29a743a030653037cb176f3764bec3c79b6c) (cherry picked from commit 65d4f0b5125ebea659d0277916bb74db2c3b9cc0)
-rw-r--r--source3/smbd/trans2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 575f96e816d..fda962c65f5 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -3115,6 +3115,12 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)st.st_ex_dev, (u
STR_UNICODE);
SIVAL(pdata,8,len);
data_len = 12 + len;
+ if (max_data_bytes >= 16 && data_len > max_data_bytes) {
+ /* the client only requested a portion of the
+ file system name */
+ data_len = max_data_bytes;
+ status = STATUS_BUFFER_OVERFLOW;
+ }
break;
case SMB_QUERY_FS_LABEL_INFO: