view dbhelpers.c @ 1705:5b701bf529aa

Fix ChaCha20 on 32-bit platforms (#99) * Fix ChaCha20 on 32-bit platforms On 32-bit platforms with old compiler STORE64H() parameter is not auto-expanded to 64-bit value, causing wrong IV data. Spotted on BCM4706 MIPS32r2 with GCC 4.2.4: Exit before auth: Integrity error (bad packet size 2065808956) * Fix Chacha20-Poly1305 and AES-GCM debug messages Functions were renamed earlier and trace messages - not.
author Vladislav Grishenko <themiron@users.noreply.github.com>
date Fri, 29 May 2020 18:26:22 +0500
parents e75dab5bec71
children
line wrap: on
line source

#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
	/* This must be volatile to avoid compiler optimisation */
	volatile void *p = data;
	memset((void*)p, 0x0, len);
#endif
}