1/*	$OpenBSD: explicit_bzero.c,v 1.3 2014/06/21 02:34:26 matthew Exp $ */
2/*
3 * Public domain.
4 * Written by Matthew Dempsky.
5 */
6#include "config.h"
7#include <string.h>
8
9#ifdef HAVE_ATTR_WEAK
10__attribute__((weak)) void
11#else
12void
13#endif
14__explicit_bzero_hook(void *ATTR_UNUSED(buf), size_t ATTR_UNUSED(len))
15{
16}
17
18void
19explicit_bzero(void *buf, size_t len)
20{
21#ifdef UB_ON_WINDOWS
22	SecureZeroMemory(buf, len);
23#endif
24	memset(buf, 0, len);
25	__explicit_bzero_hook(buf, len);
26}
27