diff options
Diffstat (limited to 'tools/tar/patches/100-symlink-force-root-name.patch')
-rw-r--r-- | tools/tar/patches/100-symlink-force-root-name.patch | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/tools/tar/patches/100-symlink-force-root-name.patch b/tools/tar/patches/100-symlink-force-root-name.patch index 896b4723fc..93f889761b 100644 --- a/tools/tar/patches/100-symlink-force-root-name.patch +++ b/tools/tar/patches/100-symlink-force-root-name.patch @@ -5,16 +5,21 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> --- --- a/src/create.c +++ b/src/create.c -@@ -545,12 +545,8 @@ write_gnu_long_link (struct tar_stat_inf - char *tmpname; +@@ -544,17 +544,8 @@ write_gnu_long_link (struct tar_stat_inf + union block *header; header = start_private_header ("././@LongLink", size, 0); -- uid_to_uname (0, &tmpname); -- UNAME_TO_CHARS (tmpname, header->header.uname); -- free (tmpname); -- gid_to_gname (0, &tmpname); -- GNAME_TO_CHARS (tmpname, header->header.gname); -- free (tmpname); +- if (! numeric_owner_option) +- { +- static char *uname, *gname; +- if (!uname) +- { +- uid_to_uname (0, &uname); +- gid_to_gname (0, &gname); +- } +- UNAME_TO_CHARS (uname, header->header.uname); +- GNAME_TO_CHARS (gname, header->header.gname); +- } + UNAME_TO_CHARS ("root", header->header.uname); + GNAME_TO_CHARS ("root", header->header.gname); |