From 1920516abfc72c1befa41d093cef9d87aa0e64d0 Mon Sep 17 00:00:00 2001 From: sin Date: Wed, 30 Apr 2014 12:25:29 +0100 Subject: [PATCH] Add explicit_bzero() in util/ --- Makefile | 19 ++++++++++--------- util.h | 2 ++ util/explicit_bzero.c | 10 ++++++++++ 3 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 util/explicit_bzero.c diff --git a/Makefile b/Makefile index 17f620c..56945be 100644 --- a/Makefile +++ b/Makefile @@ -5,15 +5,16 @@ include config.mk HDR = arg.h config.def.h proc.h reboot.h util.h LIB = \ - util/agetcwd.o \ - util/apathmax.o \ - util/eprintf.o \ - util/estrtol.o \ - util/proc.o \ - util/putword.o \ - util/recurse.o \ - util/strlcat.o \ - util/strlcpy.o \ + util/agetcwd.o \ + util/apathmax.o \ + util/eprintf.o \ + util/estrtol.o \ + util/explicit_bzero.o \ + util/proc.o \ + util/putword.o \ + util/recurse.o \ + util/strlcat.o \ + util/strlcpy.o \ util/tty.o SRC = \ diff --git a/util.h b/util.h index 76feaa9..416bb4c 100644 --- a/util.h +++ b/util.h @@ -12,6 +12,8 @@ void devtotty(int, int *, int *); void enprintf(int, const char *, ...); void eprintf(const char *, ...); long estrtol(const char *, int); +#undef explicit_bzero +void explicit_bzero(void *, size_t); void putword(const char *); void recurse(const char *, void (*)(const char *)); #undef strlcat diff --git a/util/explicit_bzero.c b/util/explicit_bzero.c new file mode 100644 index 0000000..df00966 --- /dev/null +++ b/util/explicit_bzero.c @@ -0,0 +1,10 @@ +#include +#include "../util.h" + +static void *(*volatile explicit_memset)(void *, int, size_t) = memset; + +void +explicit_bzero(void *b, size_t len) +{ + (*explicit_memset)(b, 0, len); +}