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/div.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/div.c')
0 files changed, 0 insertions, 0 deletions