seedrng: fix for glibc <= 2.24 not providing getrandom()
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
85e4805ae9
commit
200a9669fb
1 changed files with 14 additions and 0 deletions
|
@ -45,6 +45,20 @@
|
|||
#include <sys/random.h>
|
||||
#include <sys/file.h>
|
||||
|
||||
/* Fix up glibc <= 2.24 not having getrandom() */
|
||||
#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ <= 24
|
||||
#include <sys/syscall.h>
|
||||
# define getrandom(...) bb_getrandom(__VA_ARGS__)
|
||||
static ssize_t getrandom(void *buffer, size_t length, unsigned flags)
|
||||
{
|
||||
# if defined(__NR_getrandom)
|
||||
return syscall(__NR_getrandom, buffer, length, flags);
|
||||
# else
|
||||
return ENOSYS;
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef GRND_INSECURE
|
||||
#define GRND_INSECURE 0x0004 /* Apparently some headers don't ship with this yet. */
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue