avoid fortify warnings about going beyond array bounds as the strcmp assumes name[8] and ext[3] are together --- src/check.c +++ src/check.c @@ -257,7 +257,7 @@ { int i, spc, suspicious = 0; char *bad_chars = atari_format ? "*?\\/:" : "*?<>|\"\\/:"; - unsigned char *name = file->dir_ent.name; + unsigned char *name = file->dir_ent.name_ext; /* Do not complain about (and auto-correct) the extended attribute files * of OS/2. */ --- src/dosfsck.h +++ src/dosfsck.h @@ -139,7 +139,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 */