From a4b9a333a94b2786f9d79102e21c77e509b31145 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Mar 2026 14:44:44 +0000 Subject: util/nvmutil: properly handle sizeof in rhex() sizeof is size_t, so we must act accordingly. casting it to an int is unacceptable. this version is also branchless. Signed-off-by: Leah Rowe --- util/nvmutil/nvmutil.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'util') diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index c5510e8f..5f126dd4 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -432,20 +432,20 @@ hextonum(char ch) static uint8_t rhex(void) { - static int n = -1; static uint8_t rnum[12]; + static size_t n = 0; - if (n == -1) { - n = sizeof(rnum) - 1; + if (!n) { #ifdef HAVE_ARC4RANDOM arc4random_buf(rnum, sizeof(rnum)); #else read_file_PERFECTLY_or_die(rfd, rnum, sizeof(rnum), 0, rname, NULL); #endif + n = sizeof(rnum); } - return rnum[n--] & 0xf; + return rnum[--n] & 0xf; } static void -- cgit v1.2.1