a7afade170
Make sure to explicitly clear memory that is used for password input. memset is often optimized out by the compiler. Brought to attention by the OpenBSD community, see: https://marc.info/?t=146989502600003&r=1&w=2 Thread subject: x11/slock: clear passwords with explicit_bzero Changes: - explicit_bzero.c import from libressl-portable. - Makefile: add COMPATSRC for compatibility src. - config.mk: add separate *BSD section in config.mk to simply uncomment it on these platforms.
20 lines
331 B
C
20 lines
331 B
C
/* $OpenBSD: explicit_bzero.c,v 1.3 2014/06/21 02:34:26 matthew Exp $ */
|
|
/*
|
|
* Public domain.
|
|
* Written by Matthew Dempsky.
|
|
*/
|
|
|
|
#include <string.h>
|
|
|
|
__attribute__((weak)) void
|
|
__explicit_bzero_hook(void *buf, size_t len)
|
|
{
|
|
}
|
|
|
|
void
|
|
explicit_bzero(void *buf, size_t len)
|
|
{
|
|
memset(buf, 0, len);
|
|
__explicit_bzero_hook(buf, len);
|
|
}
|