1*c1f23d16Szrj /* $OpenBSD: explicit_bzero.c,v 1.4 2015/08/31 02:53:57 guenther Exp $ */ 2*c1f23d16Szrj /* 3*c1f23d16Szrj * Public domain. 4*c1f23d16Szrj * Written by Matthew Dempsky. 5*c1f23d16Szrj */ 6*c1f23d16Szrj 7*c1f23d16Szrj #include <string.h> 8*c1f23d16Szrj 9*c1f23d16Szrj __attribute__((weak)) void __explicit_bzero_hook(void *, size_t); 10*c1f23d16Szrj 11*c1f23d16Szrj __attribute__((weak)) void __explicit_bzero_hook(void * buf,size_t len)12*c1f23d16Szrj__explicit_bzero_hook(void *buf, size_t len) 13*c1f23d16Szrj { 14*c1f23d16Szrj } 15*c1f23d16Szrj 16*c1f23d16Szrj void explicit_bzero(void * buf,size_t len)17*c1f23d16Szrjexplicit_bzero(void *buf, size_t len) 18*c1f23d16Szrj { 19*c1f23d16Szrj memset(buf, 0, len); 20*c1f23d16Szrj __explicit_bzero_hook(buf, len); 21*c1f23d16Szrj } 22