From 1c4f91029efe6540fa916b996e1d1a0cec282697 Mon Sep 17 00:00:00 2001 From: pancake Date: Fri, 19 Dec 2025 23:38:17 +0100 Subject: [PATCH] Fix asan uaf in print_regcolor --- libr/util/print_regcolor.c | 4 ++-- test/unit/test_ovf.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libr/util/print_regcolor.c b/libr/util/print_regcolor.c index dca70fa58a..aa3f3bf447 100644 --- a/libr/util/print_regcolor.c +++ b/libr/util/print_regcolor.c @@ -40,8 +40,8 @@ static bool token_name (const char *p, char *name, size_t name_sz) { } static int reg_item_cmp (const RRegItem *a, const RRegItem *b) { - const int offa = (a->offset << 4) + a->size; - const int offb = (b->offset << 4) + b->size; + const int offa = ((unsigned)a->offset << 4) + a->size; + const int offb = ((unsigned)b->offset << 4) + b->size; if (offa != offb) { return (offa > offb) - (offa < offb); } diff --git a/test/unit/test_ovf.c b/test/unit/test_ovf.c index 6d04412f74..0b5d285b60 100644 --- a/test/unit/test_ovf.c +++ b/test/unit/test_ovf.c @@ -14,9 +14,9 @@ int test_overflow_add(void) { mu_assert_true (ST16_ADD_OVFCHK (ST16_MIN, (st16)-1), "st16-add (min, -1)"); mu_assert_true (UT16_ADD_OVFCHK (10, (ut16)-20), "ut16-add (10, -20)"); mu_assert_false (ST16_ADD_OVFCHK ((st16)-10, 20), "st16-add (-10, 20)"); - mu_assert_true (ST32_ADD_OVFCHK (ST32_MIN, (st32)-20), "st32-add (min, -20)"); + mu_assert_true (ST32_ADD_OVFCHK (ST32_MIN, -20), "st32-add (min, -20)"); mu_assert_false (ST32_ADD_OVFCHK ((st32)-10, 20), "st32-add (-10, 20)"); - mu_assert_true (ST64_ADD_OVFCHK (ST64_MIN, (st64)-20), "st64-add (min, -20)"); + mu_assert_true (ST64_ADD_OVFCHK (ST64_MIN, -20), "st64-add (min, -20)"); mu_assert_false (ST64_ADD_OVFCHK ((st64)-10, 20), "st64-add 3"); mu_end; } -- 2.43.0