tar: add TODO about a bug with non-writable directories on extract

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2021-01-01 13:34:25 +01:00
parent 49fd1d69ba
commit 9daa877d6b
2 changed files with 5 additions and 0 deletions

View File

@ -159,6 +159,10 @@ void FAST_FUNC data_extract_all(archive_handle_t *archive_handle)
break; break;
} }
case S_IFDIR: case S_IFDIR:
//TODO: this causes problems if tarball contains a r-xr-xr-x directory:
// we create this directory, and then fail to create files inside it
// (if tar xf isn't run as root).
// GNU tar works around this by chmod-ing directories *after* all files are extracted.
res = mkdir(dst_name, file_header->mode); res = mkdir(dst_name, file_header->mode);
if ((res != 0) if ((res != 0)
&& (errno != EISDIR) /* btw, Linux doesn't return this */ && (errno != EISDIR) /* btw, Linux doesn't return this */

View File

@ -8,6 +8,7 @@
#svn co svn://busybox.net/trunk/busybox #svn co svn://busybox.net/trunk/busybox
cd busybox || { echo "cd busybox failed"; exit 1; } cd busybox || { echo "cd busybox failed"; exit 1; }
chmod -Rc u+w,a+rX,go-w .
make release || { echo "make release failed"; exit 1; } make release || { echo "make release failed"; exit 1; }
cd .. cd ..