mirror of
https://github.com/wolfcw/libfaketime.git
synced 2026-05-17 08:36:28 +03:00
Previously, we had failed to test code with getrandom() against LD_PRELOAD when FAKERANDOM_SEED was unset. We also want to try calling getrandom twice in a single process to make sure that works OK.
30 lines
676 B
C
30 lines
676 B
C
#include <stdio.h>
|
|
#include <sys/random.h>
|
|
#include <stdlib.h>
|
|
|
|
int base() {
|
|
char *buf = calloc(100, 1);
|
|
size_t buflen = 100;
|
|
unsigned flags = GRND_NONBLOCK;
|
|
|
|
fprintf(stdout, "Before getrandom:\n");
|
|
for (size_t i=0; i < buflen; i++) { fprintf(stdout, "%hhu ", buf[i]); }
|
|
fprintf(stdout, "\n");
|
|
|
|
int result = getrandom(buf, buflen, flags);
|
|
fprintf(stdout, "getrandom() result: %d\n", result);
|
|
if (result == -1) perror("getrandom() unsuccessful");
|
|
|
|
|
|
fprintf(stdout, "After getrandom:\n");
|
|
for (size_t i=0; i < buflen; i++) { fprintf(stdout, "%hhu ", buf[i]); }
|
|
fprintf(stdout, "\n");
|
|
|
|
free(buf);
|
|
return 0;
|
|
}
|
|
|
|
int main() {
|
|
return base() + base();
|
|
}
|