Index: contrib/libarchive/libarchive/archive_write_set_format_ar.c =================================================================== --- contrib/libarchive/libarchive/archive_write_set_format_ar.c +++ contrib/libarchive/libarchive/archive_write_set_format_ar.c @@ -374,13 +374,14 @@ return (ARCHIVE_WARN); } - ar->strtab = (char *)malloc(s); + ar->strtab = (char *)malloc(s + 1); if (ar->strtab == NULL) { archive_set_error(&a->archive, ENOMEM, "Can't allocate strtab buffer"); return (ARCHIVE_FATAL); } strncpy(ar->strtab, buff, s); + ar->strtab[s] = '\0'; ar->has_strtab = 1; }