Index: src/create.c =================================================================== --- src/create.c 2017-12-17 11:14:40.000000000 +0100 +++ src/create.c 2018-04-20 07:18:23.407789197 +0200 @@ -556,8 +556,9 @@ GNAME_TO_CHARS (gname, header->header.gname); } - strcpy (header->buffer + offsetof (struct posix_header, magic), - OLDGNU_MAGIC); + strncpy (header->header.magic, OLDGNU_MAGIC, sizeof(header->header.magic)); + strncpy (header->header.version, OLDGNU_MAGIC+sizeof(header->header.magic), + sizeof(header->header.version)); header->header.typeflag = type; finish_header (st, header, -1); @@ -909,10 +910,11 @@ break; case OLDGNU_FORMAT: - case GNU_FORMAT: /*FIXME?*/ - /* Overwrite header->header.magic and header.version in one blow. */ - strcpy (header->buffer + offsetof (struct posix_header, magic), - OLDGNU_MAGIC); + case GNU_FORMAT: + /* OLDGNU_MAGIC is string with 7 chars + NULL */ + strncpy (header->header.magic, OLDGNU_MAGIC, sizeof(header->header.magic)); + strncpy (header->header.version, OLDGNU_MAGIC+sizeof(header->header.magic), + sizeof(header->header.version)); break; case POSIX_FORMAT: