summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2021-02-23 22:07:20 -0500
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>2021-02-23 22:15:24 -0500
commit9c59e24d337406ca0b5cc3b42cd57c26c1790276 (patch)
treedd8b53ac31bad5d29f71224b51adb813099cae8f
parent46dc62564280cbe59d38073bdb0a57219c819213 (diff)
downloadlibfaketime-9c59e24d337406ca0b5cc3b42cd57c26c1790276.tar.gz
Ensure that real_getrandom is initialized properly
This avoids potential failure if another library calls getrandom() within its constructor before we are loaded. For me, it lets "make randomtest" succeed in tests/ Closes: #295
-rw-r--r--src/libfaketime.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libfaketime.c b/src/libfaketime.c
index a09bae2..4392791 100644
--- a/src/libfaketime.c
+++ b/src/libfaketime.c
@@ -3684,6 +3684,10 @@ ssize_t getrandom(void *buf, size_t buflen, unsigned int flags) {
return buflen;
}
else { /* if no FAKERANDOM_SEED was given, use the original function */
+ if (!initialized)
+ {
+ ftpl_init();
+ }
return real_getrandom(buf, buflen, flags);
}
}