diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2008-07-22 11:19:07 +0000 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2008-07-22 11:19:07 +0000 |
commit | cb52bd0ddf3435dd4df19fafcb22d954bcb07e17 (patch) | |
tree | 74c407ab38ea34b5007b7fe32e0323f1fc95fe0d /package/busybox/busybox-1.11.1-tar.patch | |
parent | 658d9482ad2280f2175a51bb89c40bbbe6dacaf2 (diff) | |
download | buildroot-novena-cb52bd0ddf3435dd4df19fafcb22d954bcb07e17.tar.gz buildroot-novena-cb52bd0ddf3435dd4df19fafcb22d954bcb07e17.zip |
busybox: 1.11.1 patches
Diffstat (limited to 'package/busybox/busybox-1.11.1-tar.patch')
-rw-r--r-- | package/busybox/busybox-1.11.1-tar.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.11.1-tar.patch b/package/busybox/busybox-1.11.1-tar.patch new file mode 100644 index 000000000..27c5d3865 --- /dev/null +++ b/package/busybox/busybox-1.11.1-tar.patch @@ -0,0 +1,53 @@ +--- busybox-1.11.1/archival/libunarchive/get_header_tar.c Wed Jun 25 14:51:17 2008 ++++ busybox-1.11.1-tar/archival/libunarchive/get_header_tar.c Sun Jul 20 19:11:45 2008 +@@ -261,26 +261,31 @@ + case '0': + #if ENABLE_FEATURE_TAR_OLDGNU_COMPATIBILITY + if (last_char_is(file_header->name, '/')) { +- file_header->mode |= S_IFDIR; +- } else ++ goto set_dir; ++ } + #endif + file_header->mode |= S_IFREG; + break; + case '2': + file_header->mode |= S_IFLNK; ++ /* have seen tarballs with size field containing ++ * the size of the link target's name */ ++ size0: ++ file_header->size = 0; + break; + case '3': + file_header->mode |= S_IFCHR; +- break; ++ goto size0; /* paranoia */ + case '4': + file_header->mode |= S_IFBLK; +- break; ++ goto size0; + case '5': ++ set_dir: + file_header->mode |= S_IFDIR; +- break; ++ goto size0; + case '6': + file_header->mode |= S_IFIFO; +- break; ++ goto size0; + #if ENABLE_FEATURE_TAR_GNU_EXTENSIONS + case 'L': + /* free: paranoia: tar with several consecutive longnames */ +--- busybox-1.11.1/archival/libunarchive/seek_by_jump.c Wed Jun 25 14:51:17 2008 ++++ busybox-1.11.1-tar/archival/libunarchive/seek_by_jump.c Sun Jul 20 19:11:45 2008 +@@ -8,7 +8,9 @@ + + void seek_by_jump(const archive_handle_t *archive_handle, unsigned amount) + { +- if (lseek(archive_handle->src_fd, (off_t) amount, SEEK_CUR) == (off_t) -1) { ++ if (amount ++ && lseek(archive_handle->src_fd, (off_t) amount, SEEK_CUR) == (off_t) -1 ++ ) { + if (errno == ESPIPE) + seek_by_read(archive_handle, amount); + else |