From 0da47356692d60755345bd20924a410a62488591 Mon Sep 17 00:00:00 2001 From: Ted Unangst Date: Mon, 10 Jan 2011 23:23:57 +0000 Subject: add a new function, explicit_bzero, to be used for erasing "secret" stuff. unlike normal bzero, we guarantee that the compiler will not optimize out calls to this function for otherwise dead variables. to be adjusted as needed when compilers and linkers get smarter. ok deraadt miod --- sys/lib/libkern/explicit_bzero.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 sys/lib/libkern/explicit_bzero.c (limited to 'sys/lib/libkern/explicit_bzero.c') diff --git a/sys/lib/libkern/explicit_bzero.c b/sys/lib/libkern/explicit_bzero.c new file mode 100644 index 00000000000..7550a2f0c8d --- /dev/null +++ b/sys/lib/libkern/explicit_bzero.c @@ -0,0 +1,20 @@ +/* $OpenBSD: explicit_bzero.c,v 1.1 2011/01/10 23:23:56 tedu Exp $ */ +/* + * Public domain. + * Written by Ted Unangst + */ + +#if !defined(_KERNEL) && !defined(_STANDALONE) +#include +#else +#include +#endif + +/* + * explicit_bzero - don't let the compiler optimize away bzero + */ +void +explicit_bzero(void *p, size_t n) +{ + bzero(p, n); +} -- cgit v1.2.3