mirror of
https://github.com/osmarks/ngircd.git
synced 2026-09-18 23:30:44 +00:00
Check and call arc4random_stir() if present
FreeBSD prior to 10.0 does not automatically stir on fork(). Same with current NetBSD. If arc4random_stir() is present assume is needed and call it instead of srand().
This commit is contained in:
@@ -77,6 +77,9 @@ Proc_Fork(PROC_STAT *proc, int *pipefds, void (*cbfunc)(int, short), int timeout
|
||||
return -1;
|
||||
case 0:
|
||||
/* New child process: */
|
||||
#ifdef HAVE_ARC4RANDOM_STIR
|
||||
arc4random_stir();
|
||||
#endif
|
||||
#ifndef HAVE_ARC4RANDOM
|
||||
srand(seed ^ (unsigned int)time(NULL) ^ getpid());
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user