| BZERO(3) | Library Functions Manual | BZERO(3) |
bzero, explicit_bzero —
#include <strings.h>
void
bzero(void
*b, size_t
len);
#include
<string.h>
void
explicit_bzero(void
*b, size_t
len);
bzero() function writes len
zero bytes to the string b. If len
is zero, bzero() does nothing.
The explicit_bzero() variant behaves the
same, but will not be removed by a compiler's dead store optimization pass,
making it useful for clearing sensitive memory such as a password.
bzero() function conforms to the X/Open System
Interfaces option of the IEEE Std 1003.1-2004
(“POSIX.1”) specification. It was removed from the
standard in IEEE Std 1003.1-2008
(“POSIX.1”), which recommends using
memset(3) instead.
The explicit_bzero() function is an
OpenBSD extension.
bzero() function first appeared in
4.2BSD. The explicit_bzero()
function first appeared in OpenBSD 5.5.| October 12, 2017 | OpenBSD-current |