summaryrefslogtreecommitdiffstats
path: root/sys/lib/libkern/explicit_bzero.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/lib/libkern/explicit_bzero.c')
-rw-r--r--sys/lib/libkern/explicit_bzero.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/sys/lib/libkern/explicit_bzero.c b/sys/lib/libkern/explicit_bzero.c
index 297fc7052c9..346c0bac70e 100644
--- a/sys/lib/libkern/explicit_bzero.c
+++ b/sys/lib/libkern/explicit_bzero.c
@@ -1,16 +1,21 @@
-/* $OpenBSD: explicit_bzero.c,v 1.2 2014/06/10 04:16:57 deraadt Exp $ */
+/* $OpenBSD: explicit_bzero.c,v 1.3 2014/06/21 02:34:26 matthew Exp $ */
/*
* Public domain.
- * Written by Ted Unangst
+ * Written by Matthew Dempsky.
*/
#include <lib/libkern/libkern.h>
-/*
- * explicit_bzero - don't let the compiler optimize away bzero
- */
+__attribute__((weak)) void __explicit_bzero_hook(void *, size_t);
+
+__attribute__((weak)) void
+__explicit_bzero_hook(void *buf, size_t len)
+{
+}
+
void
-explicit_bzero(void *p, size_t n)
+explicit_bzero(void *buf, size_t len)
{
- bzero(p, n);
+ memset(buf, 0, len);
+ __explicit_bzero_hook(buf, len);
}