shithub: blake2

Download patch

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
--