Mercurial > dropbear
diff dbhelpers.c @ 1283:3017bc7d6238
move m_burn and function attributes to dbhelpers
use m_burn for libtomcrypt zeromem() too
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 17 Mar 2016 23:21:33 +0800 |
parents | |
children | 4b1a807a3188 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbhelpers.c Thu Mar 17 23:21:33 2016 +0800 @@ -0,0 +1,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 +} + +