← Commit list

75762705a

Glenn L McGrath
Glenn L McGrath
2002-08-22
FAILED Duration: 5s

Subject

Honour the USTAR prefix field, this enables a 155 byte path length plus the normal 100 byte filename. The catch is gnu tar cannot create archives that use the prefix field, you need to use s-tar.

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

archival/libunarchive/get_header_tar.c+6 -2
@@ -71,7 +71,7 @@ file_header_t *get_header_tar(FILE *tar_stream)
}
/* If there is no filename its an empty header, skip it */
- if (xstrlen(tar.formated.name) == 0) {
+ if (tar.formated.name[0] == 0) {
return(NULL);
}
@@ -90,7 +90,11 @@ file_header_t *get_header_tar(FILE *tar_stream)
/* convert to type'ed variables */
tar_entry = xcalloc(1, sizeof(file_header_t));
- tar_entry->name = xstrdup(tar.formated.name);
+ if (tar.formated.prefix[0] == 0) {
+ tar_entry->name = xstrdup(tar.formated.name);
+ } else {
+ tar_entry->name = concat_path_file(tar.formated.prefix, tar.formated.name);
+ }
tar_entry->mode = strtol(tar.formated.mode, NULL, 8);
#ifdef CONFIG_FEATURE_TAR_OLD_FORMAT