]> git.ipfire.org Git - thirdparty/glibc.git/commit
stdlib: fix arc4random fallback to /dev/urandom (BZ 31612)
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 5 Apr 2024 13:27:29 +0000 (10:27 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 8 Jul 2024 13:05:10 +0000 (10:05 -0300)
commit184b9e530e6326e668709826903b6d30dc6cac3f
tree1f4f3ee49b062103ab63b85a65c268c1715482cf
parent9fc639f654dc004736836613be703e6bed0c36a8
stdlib: fix arc4random fallback to /dev/urandom (BZ 31612)

The __getrandom_nocancel used by __arc4random_buf uses
INLINE_SYSCALL_CALL (which returns -1/errno) and the loop checks for
the return value instead of errno to fallback to /dev/urandom.

The malloc code now uses __getrandom_nocancel_nostatus, which uses
INTERNAL_SYSCALL_CALL, so there is no need to use the variant that does
not set errno (BZ#29624).

Checked on x86_64-linux-gnu.

Reviewed-by: Xi Ruoyao <xry111@xry111.site>
stdlib/arc4random.c