view doc/glibc-functions/explicit_bzero.texi @ 39913:73d60b1f9c96

doc: Update for Solaris 11.4. * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4, mention Solaris 11.4. * m4/printf.m4: Update comments about Solaris. * m4/log.m4: Likewise. * m4/log10.m4: Likewise. * m4/logb.m4: Likewise. * m4/logbf.m4: Likewise. * m4/logbl.m4: Likewise. * m4/rename.m4: Likewise. * m4/wcrtomb.m4: Likewise. * m4/hostent.m4: Likewise. * m4/servent.m4: Likewise.
author Bruno Haible <bruno@clisp.org>
date Sun, 14 Oct 2018 09:33:46 +0200
parents 41bd1e8f88b2
children
line wrap: on
line source

@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.4, Android 9.0,
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