Browse Source
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.master
Hiltjo Posthuma
8 years ago
5 changed files with 34 additions and 5 deletions
@ -0,0 +1,19 @@ |
|||||||
|
/* $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); |
||||||
|
} |
Loading…
Reference in new issue