]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Merge pull request #3014 from kientzle/kientzle-test_utils-ub
authorTim Kientzle <kientzle@acm.org>
Fri, 8 May 2026 05:20:19 +0000 (22:20 -0700)
committerMartin Matuska <martin@matuska.de>
Tue, 23 Jun 2026 08:26:24 +0000 (10:26 +0200)
[test_utils] Fix a minor UB

(cherry picked from commit 1fcae10bf77d40357889eb031851618556c563c5)

libarchive/archive_read_support_format_7zip.c
test_utils/test_utils.c

index b493df1e6d1eb7e47c03c3ec3d4ed197c5493dca..325e0e9ddb771316489a01ea2a41fa8dc5fefea5 100644 (file)
@@ -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];
index be717f4ccfe09a2bd63f43a1930ee644ff43a7a3..a24b0272cb1f6728fa8356a4033d93adee67b761 100644 (file)
@@ -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_)