CVSROOT:        /cvs
Module name:    src
Changes by:     matt...@cvs.openbsd.org 2014/07/18 15:40:54

Modified files:
        lib/libcrypto/crypto: arc4random_linux.h arc4random_osx.h 
                              arc4random_solaris.h 

Log message:
Cleanup portable arc4random fork detection code:

1. Use "len" parameter instead of sizeof(*rs).

2. Simplify the atfork handler to be strictly async signal safe by
simply writing to a global volatile sig_atomic_t object, and then
checking for this in _rs_forkdetect().  (Idea from discussions with
Szabolcs Nagy and Rich Felker.)

3. Use memset(rs, 0, sizeof(*rs)) to match OpenBSD's MAP_INHERIT_ZERO
fork semantics to avoid any skew in behavior across platforms.

ok deraadt

Reply via email to