lbutils: also check null!

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2026-03-25 20:19:18 +00:00
parent 7b3c8cf7ec
commit e44ea5d794
+7 -5
View File
@@ -61,6 +61,9 @@ rset(void *buf, size_t n)
{ {
int saved_errno = errno; int saved_errno = errno;
if (if_err(buf == NULL, EFAULT))
goto err;
#if (defined(__OpenBSD__) || defined(__FreeBSD__) || \ #if (defined(__OpenBSD__) || defined(__FreeBSD__) || \
defined(__NetBSD__) || defined(__APPLE__) || \ defined(__NetBSD__) || defined(__APPLE__) || \
defined(__DragonFly__)) && !(defined(USE_URANDOM) && \ defined(__DragonFly__)) && !(defined(USE_URANDOM) && \
@@ -104,15 +107,14 @@ retry_rand:
((USE_URANDOM) > 0) ((USE_URANDOM) > 0)
close_no_err(&fd); close_no_err(&fd);
#endif #endif
goto out; goto out;
#endif
out:
errno = saved_errno;
return;
err: err:
err_no_cleanup(1, ECANCELED, err_no_cleanup(1, ECANCELED,
"Randomisation failure, possibly unsupported in your kernel."); "Randomisation failure, possibly unsupported in your kernel.");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
#endif
out:
errno = saved_errno;
} }
#endif #endif