| 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 */ |