s3:smbd: allow info class SMB_QUERY_FS_VOLUME_INFO to return partial data
authorRalph Wuerthner <ralph.wuerthner@de.ibm.com>
Wed, 10 Jul 2013 13:52:06 +0000 (15:52 +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 ec46f6b91941e38dd92f8e0fb0f278592e3157b6)

source3/smbd/trans2.c

index 20d42f7ea254abee0c03dd01528be76de6db24d5..575f96e816dbe5a96e4567e8bc0d9f94c280e318 100644 (file)
@@ -3144,6 +3144,13 @@ 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(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: