aboutsummaryrefslogtreecommitdiff
path: root/external/unbound/compat/explicit_bzero.c
diff options
context:
space:
mode:
Diffstat (limited to 'external/unbound/compat/explicit_bzero.c')
-rw-r--r--external/unbound/compat/explicit_bzero.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/external/unbound/compat/explicit_bzero.c b/external/unbound/compat/explicit_bzero.c
new file mode 100644
index 000000000..a3ba2798a
--- /dev/null
+++ b/external/unbound/compat/explicit_bzero.c
@@ -0,0 +1,22 @@
+/* $OpenBSD: explicit_bzero.c,v 1.3 2014/06/21 02:34:26 matthew Exp $ */
+/*
+ * Public domain.
+ * Written by Matthew Dempsky.
+ */
+#include "config.h"
+#include <string.h>
+
+__attribute__((weak)) void
+__explicit_bzero_hook(void *ATTR_UNUSED(buf), size_t ATTR_UNUSED(len))
+{
+}
+
+void
+explicit_bzero(void *buf, size_t len)
+{
+#ifdef UB_ON_WINDOWS
+ SecureZeroMemory(buf, len);
+#endif
+ memset(buf, 0, len);
+ __explicit_bzero_hook(buf, len);
+}