(wipememory, wipememory2): New; taken from gnupg.
authorWerner Koch <wk@gnupg.org>
Fri, 19 Dec 2003 19:50:14 +0000 (19:50 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 19 Dec 2003 19:50:14 +0000 (19:50 +0000)
src/ChangeLog
src/g10lib.h
src/gcrypt.h

index 661e3fa..e106d89 100644 (file)
@@ -1,3 +1,7 @@
+2003-12-19  Werner Koch  <wk@gnupg.org>
+
+       * g10lib.h (wipememory, wipememory2): New; taken from gnupg.
+
 2003-11-14  Werner Koch  <wk@gnupg.org>
 
        * global.c (gcry_strdup): Don't copy the string after a malloc
index 3250c5b..0aef376 100644 (file)
@@ -169,6 +169,18 @@ int strcasecmp (const char *a, const char *b) GCC_ATTR_PURE;
 
 void _gcry_burn_stack (int bytes);
 
+
+/* To avoid that a compiler optimizes certain memset calls away, these
+   macros may be used instead. */
+#define wipememory2(_ptr,_set,_len) do { \
+              volatile char *_vptr=(volatile char *)(_ptr); \
+              size_t _vlen=(_len); \
+              while(_vlen) { *_vptr=(_set); _vptr++; _vlen--; } \
+                  } while(0)
+#define wipememory(_ptr,_len) wipememory2(_ptr,0,_len)
+
+
+
 /* Digit predicates.  */
 
 #define digitp(p)   (*(p) >= '0' && *(p) <= '9')
index 0437264..8baa084 100644 (file)
@@ -42,7 +42,7 @@ extern "C" {
    autoconf (using the AM_PATH_GCRYPT macro) check that this header
    matches the installed library.  Note: Do not edit the next line as
    configure may fix the string here.  */
-#define GCRYPT_VERSION "1.1.91"
+#define GCRYPT_VERSION "1.1.92-cvs"
 
 /* Internal: We can't use the convenience macros for the multi
    precision integer functions when building this library. */