mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-09-04 12:41:58 +00:00
The explicit_bzero function has been added to glibc. This module is intended to supports its use in GNU programs. * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c: * m4/explicit_bzero.m4, modules/explicit_bzero: New files. * doc/gnulib.texi (Glibc string.h): Link to new doc. * lib/string.in.h (explicit_bzero): Declare. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it. * modules/string (string.h): Substitute its vars.
30 lines
993 B
Plaintext
30 lines
993 B
Plaintext
@node explicit_bzero
|
|
@subsection @code{explicit_bzero}
|
|
@findex explicit_bzero
|
|
|
|
Gnulib module: explicit_bzero
|
|
|
|
The @code{explicit_bzero} function is an approximation to what is
|
|
needed, and does not suffice in general to erase information.
|
|
Although calling @code{explicit_bzero} should clear the memory in
|
|
question, the information that was in memory may still be available
|
|
elsewhere on the machine. Proper implementation of information
|
|
erasure requires support from levels below C code.
|
|
|
|
Portability problems fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
This function is missing on some platforms:
|
|
glibc 2.24, FreeBSD 10, NetBSD 7.1, OpenBSD 5.4, macOS 10.12, Solaris 11.3,
|
|
and many other systems.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
Although the module's implementation should clear the memory on
|
|
platforms compatible with GCC and on platforms using traditional
|
|
linkers, it may not clear the memory on non-GCC platforms that use
|
|
whole-program optimization.
|
|
@end itemize
|