From: Tim Kientzle Date: Fri, 8 May 2026 05:20:19 +0000 (-0700) Subject: Merge pull request #3014 from kientzle/kientzle-test_utils-ub X-Git-Tag: v3.8.8~139 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cfb951b73780fac32ef48e734b10a414d5fa511e;p=thirdparty%2Flibarchive.git Merge pull request #3014 from kientzle/kientzle-test_utils-ub [test_utils] Fix a minor UB (cherry picked from commit 1fcae10bf77d40357889eb031851618556c563c5) --- diff --git a/libarchive/archive_read_support_format_7zip.c b/libarchive/archive_read_support_format_7zip.c index b493df1e6..325e0e9dd 100644 --- a/libarchive/archive_read_support_format_7zip.c +++ b/libarchive/archive_read_support_format_7zip.c @@ -4311,7 +4311,7 @@ sparc_Convert(struct _7zip *zip, uint8_t *buf, size_t size) size &= ~(size_t)3; for (i = 0; i < size; i += 4) { - instr = (uint32_t)(buf[i] << 24) + instr = ((uint32_t)buf[i] << 24) | ((uint32_t)buf[i+1] << 16) | ((uint32_t)buf[i+2] << 8) | (uint32_t)buf[i+3]; diff --git a/test_utils/test_utils.c b/test_utils/test_utils.c index be717f4cc..a24b0272c 100644 --- a/test_utils/test_utils.c +++ b/test_utils/test_utils.c @@ -149,7 +149,7 @@ unsigned int i4le(const void* p_) { const char *p = p_; - return (i2le(p) | (i2le(p + 2) << 16)); + return (i2le(p) | ((unsigned int)i2le(p + 2) << 16)); } unsigned long long i8le(const void* p_)