mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-14 07:19:40 +02:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user