summaryrefslogtreecommitdiff
path: root/dbhelpers.c
blob: f7461d99cd744d3ae2a18aec9b6b6986f0453805 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "dbhelpers.h"
#include "includes.h"

/* Erase data */
void m_burn(void *data, unsigned int len) {

#if defined(HAVE_MEMSET_S)
	memset_s(data, len, 0x0, len);
#elif defined(HAVE_EXPLICIT_BZERO)
	explicit_bzero(data, len);
#else
/* Based on the method in David Wheeler's
 * "Secure Programming for Linux and Unix HOWTO". May not be safe
 * against link-time optimisation. */
	volatile char *p = data;

	if (data == NULL)
		return;
	while (len--) {
		*p++ = 0x0;
	}
#endif
}