1*47b738bfSAaron LI /* $OpenBSD: explicit_bzero.c,v 1.3 2014/06/21 02:34:26 matthew Exp $ */ 2*47b738bfSAaron LI /* 3*47b738bfSAaron LI * Public domain. 4*47b738bfSAaron LI * Written by Matthew Dempsky. 5*47b738bfSAaron LI */ 6*47b738bfSAaron LI 7*47b738bfSAaron LI #include <sys/libkern.h> 8*47b738bfSAaron LI 9*47b738bfSAaron LI __attribute__((weak)) void __explicit_bzero_hook(void *, size_t); 10*47b738bfSAaron LI 11*47b738bfSAaron LI __attribute__((weak)) void __explicit_bzero_hook(void * buf,size_t len)12*47b738bfSAaron LI__explicit_bzero_hook(void *buf, size_t len) 13*47b738bfSAaron LI { 14*47b738bfSAaron LI } 15*47b738bfSAaron LI 16*47b738bfSAaron LI void explicit_bzero(void * buf,size_t len)17*47b738bfSAaron LIexplicit_bzero(void *buf, size_t len) 18*47b738bfSAaron LI { 19*47b738bfSAaron LI memset(buf, 0, len); 20*47b738bfSAaron LI __explicit_bzero_hook(buf, len); 21*47b738bfSAaron LI } 22