Clarified filename handling, by Johannes Schindelin.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 3 Jul 2008 19:54:19 +0000 (19:54 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 3 Jul 2008 19:54:19 +0000 (19:54 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4842 c046a42c-6fe2-441c-8c8c-71466251a162

block-vvfat.c

index f5ae4f1..2dd1f24 100644 (file)
@@ -1410,7 +1410,12 @@ static void schedule_mkdir(BDRVVVFATState* s, uint32_t cluster, char* path)
 }
 
 typedef struct {
-    unsigned char name[1024];
+    /*
+     * Since the sequence number is at most 0x3f, and the filename
+     * length is at most 13 times the sequence number, the maximal
+     * filename length is 0x3f * 13 bytes.
+     */
+    unsigned char name[0x3f * 13 + 1];
     int checksum, len;
     int sequence_number;
 } long_file_name;