s3:smbd: allow info class SMB_QUERY_FS_ATTRIBUTE_INFO to return partial data
authorRalph Wuerthner <ralph.wuerthner@de.ibm.com>
Wed, 10 Jul 2013 14:43:39 +0000 (16:43 +0200)
committerKarolin Seeger <kseeger@samba.org>
Fri, 6 Sep 2013 08:49:49 +0000 (10:49 +0200)
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <Volker.Lendecke@SerNet.DE>
(cherry picked from commit 270d29a743a030653037cb176f3764bec3c79b6c)

source3/smbd/trans2.c

index 575f96e816dbe5a96e4567e8bc0d9f94c280e318..fda962c65f5d44e202bb19ce04bedca48e6590f6 100644 (file)
@@ -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: