summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Stangler <estangler@bradmark.com>2020-01-03 10:36:21 +0000
committerEdward Stangler <estangler@bradmark.com>2020-01-03 06:09:42 -0600
commitc30b616f00f14cbad2f971d38947b4af8c6fc774 (patch)
tree2e36c76f2781b3766f595f2605b98f4fe583e221
parentacb025f0d20cda0e2173c822e7d4efa611cce396 (diff)
downloadgnutls-c30b616f00f14cbad2f971d38947b4af8c6fc774.tar.gz
Fixes dummy getrandom() when errno = EAGAIN.
Fixes #892. Signed-off-by: Edward Stangler <estangler@bradmark.com>
-rw-r--r--lib/nettle/sysrng-linux.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/nettle/sysrng-linux.c b/lib/nettle/sysrng-linux.c
index a0802f444d..2e17ecdd0c 100644
--- a/lib/nettle/sysrng-linux.c
+++ b/lib/nettle/sysrng-linux.c
@@ -61,7 +61,12 @@ get_entropy_func _rnd_get_system_entropy = NULL;
# if defined(SYS_getrandom)
# define getrandom(dst,s,flags) syscall(SYS_getrandom, (void*)dst, (size_t)s, (unsigned int)flags)
# else
-# define getrandom(dst,s,flags) -1
+static ssize_t _getrandom0(void *buf, size_t buflen, unsigned int flags)
+{
+ errno = ENOSYS;
+ return -1;
+}
+# define getrandom(dst,s,flags) _getrandom0(dst,s,flags)
# endif
# endif