diff options
| author | matthew <> | 2014-07-18 21:40:54 +0000 |
|---|---|---|
| committer | matthew <> | 2014-07-18 21:40:54 +0000 |
| commit | cb6d7664a81745720f33266734161b267e83c5dd (patch) | |
| tree | d35b51e66c8c108b69caf1250f41710acc15f577 /src/lib/libc/stdlib/nrand48.c | |
| parent | bbdd86efa830966ab392f24545de3da7c1ebc213 (diff) | |
| download | openbsd-cb6d7664a81745720f33266734161b267e83c5dd.tar.gz openbsd-cb6d7664a81745720f33266734161b267e83c5dd.tar.bz2 openbsd-cb6d7664a81745720f33266734161b267e83c5dd.zip | |
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
Diffstat (limited to 'src/lib/libc/stdlib/nrand48.c')
0 files changed, 0 insertions, 0 deletions
