summaryrefslogtreecommitdiff
blob: 71149bd4d803c4fc9b3bdb3f2ac33b08d8f6e3c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
avoid fortify warnings about going beyond array bounds as the strcmp
assumes name[8] and ext[3] are together

--- dosfstools-3.0.20/src/check.c
+++ dosfstools-3.0.20/src/check.c
@@ -264,7 +264,7 @@
 {
     int i, spc, suspicious = 0;
     const char *bad_chars = atari_format ? "*?\\/:" : "*?<>|\"\\/:";
-    const unsigned char *name = file->dir_ent.name;
+    const unsigned char *name = file->dir_ent.name_ext;
     const unsigned char *ext = file->dir_ent.ext;
 
     /* Do not complain about (and auto-correct) the extended attribute files
--- dosfstools-3.0.20/src/fsck.fat.h
+++ dosfstools-3.0.20/src/fsck.fat.h
@@ -126,7 +126,12 @@
 };
 
 typedef struct {
+    union {
+    struct {
     __u8 name[8], ext[3];	/* name and extension */
+    };
+    __u8 name_ext[11];
+    };
     __u8 attr;			/* attribute bits */
     __u8 lcase;			/* Case for base and extension */
     __u8 ctime_ms;		/* Creation time, milliseconds */