FreeBSD manual
download PDF document: explicit_bzero.3.pdf
BZERO(3) FreeBSD Library Functions Manual BZERO(3)
NAME
bzero, explicit_bzero - write zeroes to a byte string
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <strings.h>
void
bzero(void *b, size_t len);
void
explicit_bzero(void *b, size_t len);
DESCRIPTION
The 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.
SEE ALSO
memset(3), swab(3)
HISTORY
A bzero() function appeared in 4.3BSD. Its prototype existed previously
in <string.h> before it was moved to <strings.h> for IEEE Std 1003.1-2001
("POSIX.1") compliance.
The explicit_bzero() function first appeared in OpenBSD 5.5 and
FreeBSD 11.0.
IEEE Std 1003.1-2008 ("POSIX.1") removes the specification of bzero() and
it is marked as LEGACY in IEEE Std 1003.1-2004 ("POSIX.1"). For
portability with other systems new programs should use memset(3).
FreeBSD 14.0-RELEASE-p11 August 24, 2015 FreeBSD 14.0-RELEASE-p11