EXPLICIT_MEMSET(3)      NetBSD Library Functions Manual     EXPLICIT_MEMSET(3)

NAME
     explicit_memset -- guarantee writing a byte to a byte string

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <string.h>

     void *
     explicit_memset(void *b, int c, size_t len);

DESCRIPTION
     The explicit_memset() function writes len bytes of value c (converted to
     an unsigned char) to the string b.  It is guaranteed not to be optimized
     away by the compiler even if b is no longer used and is about to be freed
     or go out of scope.

RETURN VALUES
     The explicit_memset() function returns the original value of b.

EXAMPLES
     Create a buffer on the stack for a secret key, use it, and then zero it
     in memory before throwing it away.

           void
           f(void)
           {
                   uint8_t key[32];

                   crypto_random(key, sizeof(key));
                   do_crypto_stuff(key, sizeof(key));
                   ...

                   explicit_memset(key, 0, sizeof(key));
           }

SEE ALSO
     consttime_memequal(3), memset(3)

HISTORY
     The explicit_memset() function appeared in NetBSD 7.0.

NetBSD 6.0                      August 28, 2013                     NetBSD 6.0

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias <christia@softlab.ntua.gr>
©1996-2014 Modified for NetBSD by Kimmo Suominen