ref: cfc536848ab8aca62961c7ee446006d53814132f
parent: 1c2b66c26d6d4914bf66a9c9ed7bbc2f98b9eec1
author: Samuel Neves <sneves@dei.uc.pt>
date: Sat Dec 12 15:45:01 EST 2015
replace secure_zero_memory
--- a/ref/blake2-impl.h
+++ b/ref/blake2-impl.h
@@ -15,6 +15,7 @@
#define __BLAKE2_IMPL_H__
#include <stdint.h>
+#include <string.h>
static inline uint32_t load32( const void *src )
{
@@ -126,10 +127,10 @@
}
/* prevents compiler optimizing out memset() */
-static inline void secure_zero_memory( void *v, size_t n )
+static inline void secure_zero_memory(void *v, size_t n)
{
- volatile uint8_t *p = ( volatile uint8_t * )v;
- while( n-- ) *p++ = 0;
+ static void *(*const volatile memset_v)(void *, int, size_t) = &memset;
+ memset_v(v, 0, n);
}
#endif
--- a/sse/blake2-impl.h
+++ b/sse/blake2-impl.h
@@ -15,6 +15,7 @@
#define __BLAKE2_IMPL_H__
#include <stdint.h>
+#include <string.h>
static inline uint32_t load32( const void *src )
{
@@ -126,10 +127,10 @@
}
/* prevents compiler optimizing out memset() */
-static inline void secure_zero_memory( void *v, size_t n )
+static inline void secure_zero_memory(void *v, size_t n)
{
- volatile uint8_t *p = ( volatile uint8_t * )v;
- while( n-- ) *p++ = 0;
+ static void *(*const volatile memset_v)(void *, int, size_t) = &memset;
+ memset_v(v, 0, n);
}
#endif
--
⑨