diff options
Diffstat (limited to 'archival/tar.c')
-rw-r--r-- | archival/tar.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/archival/tar.c b/archival/tar.c index 4ab38db29..4f2564813 100644 --- a/archival/tar.c +++ b/archival/tar.c @@ -297,7 +297,8 @@ static void writeLongname(int fd, int type, const char *name, int dir) header.typeflag = type; strcpy(header.name, "././@LongLink"); /* This sets mode/uid/gid/mtime to "00...00<NUL>" strings */ - memset(header.mode, '0', sizeof(struct prefilled)); + memset((char*)&header + offsetof(struct tar_header_t, mode), /* make gcc-9.x happy */ + '0', sizeof(struct prefilled)); header.mode [sizeof(header.mode ) - 1] = '\0'; header.uid [sizeof(header.uid ) - 1] = '\0'; header.gid [sizeof(header.gid ) - 1] = '\0'; |