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