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 <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2026-03-06 14:44:44 +00:00
parent cc47a756f2
commit a4b9a333a9
+4 -4
View File
@@ -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