nvmutil: don't read urandom fd if fd not open

yeah. obvious bug

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2026-03-18 04:21:18 +00:00
parent cdce83d19e
commit e3a007a8ae
+10 -7
View File
@@ -1051,15 +1051,18 @@ rlong(void)
if (fd < 0) if (fd < 0)
fd = open("/dev/random", O_RDONLY | O_BINARY | O_NONBLOCK); fd = open("/dev/random", O_RDONLY | O_BINARY | O_NONBLOCK);
nr = rw_file_exact(fd, (unsigned char *)&rval, if (fd > -1) {
sizeof(unsigned long), 0, IO_READ, LOOP_EAGAIN,
LOOP_EINTR, MAX_ZERO_RW_RETRY, OFF_ERR);
if (x_i_close(fd) < 0) nr = rw_file_exact(fd, (unsigned char *)&rval,
err(errno, "Can't close randomness fd"); sizeof(unsigned long), 0, IO_READ, LOOP_EAGAIN,
LOOP_EINTR, MAX_ZERO_RW_RETRY, OFF_ERR);
if (nr == sizeof(unsigned long)) if (x_i_close(fd) < 0)
return rval; err(errno, "Can't close randomness fd");
if (nr == sizeof(unsigned long))
return rval;
}
return mix; return mix;
} }