From: Denys Vlasenko Date: Sun, 3 Jan 2010 22:41:11 +0000 (+0100) Subject: tar: fix problem handling tarballs with chksums prepended by spaces X-Git-Tag: 1_16_0~110 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d6459685c1a93785d0bdf94e16834a6d4c54842f;p=oweals%2Fbusybox.git tar: fix problem handling tarballs with chksums prepended by spaces Signed-off-by: Denys Vlasenko --- diff --git a/archival/libunarchive/get_header_tar.c b/archival/libunarchive/get_header_tar.c index b8d7648ec..1f799277b 100644 --- a/archival/libunarchive/get_header_tar.c +++ b/archival/libunarchive/get_header_tar.c @@ -274,7 +274,8 @@ char FAST_FUNC get_header_tar(archive_handle_t *archive_handle) bb_error_msg_and_die("invalid tar header checksum"); } } - sum = xstrtoul(tar.chksum, 8); + /* don't use xstrtoul, tar.chksum may have leading spaces */ + sum = strtoul(tar.chksum, NULL, 8); if (sum_u != sum IF_FEATURE_TAR_OLDSUN_COMPATIBILITY(&& sum_s != sum)) { bb_error_msg_and_die("invalid tar header checksum"); }