]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
export gnutls_memset().
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 10 May 2014 11:41:32 +0000 (13:41 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 10 May 2014 11:41:32 +0000 (13:41 +0200)
NEWS
lib/gnutls_mem.h
lib/includes/gnutls/gnutls.h.in
lib/safe-memset.c

diff --git a/NEWS b/NEWS
index 74c4ec633f616cdd780d79c0b33586b760d1889c..6f37897850a9e118b770e5de1910921e52aac127 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,7 @@ create a full chain. This addresses points from https://savannah.gnu.org/support
 
 ** API and ABI modifications:
 dane_verify_crt_raw2: Added
+gnutls_memset: Added
 
 
 * Version 3.3.2 (released 2014-05-06)
index 6505f6d950c685042c137913e6bba19eb83374f9..418a7b724f25ff0b42391ff9ddaaa52dbaab4b99 100644 (file)
@@ -36,9 +36,7 @@ char *_gnutls_strdup(const char *);
                 _gnutls_mpi_release(mpi); \
         }
 
-void _gnutls_safe_memset(void *data, int c, size_t size);
-
-#define zeroize_key(x, size) _gnutls_safe_memset(x, 0, size)
+#define zeroize_key(x, size) gnutls_memset(x, 0, size)
 
 #define zeroize_temp_key zeroize_key
 #define zrelease_temp_mpi_key zrelease_mpi_key
index 48c6d4783e743dc3ae0006df7c456494abab29f4..49f4bd2f9cd144be2f32287a8bc3464722a74b09 100644 (file)
@@ -1470,6 +1470,7 @@ extern gnutls_alloc_function gnutls_malloc;
 extern gnutls_realloc_function gnutls_realloc;
 extern gnutls_calloc_function gnutls_calloc;
 extern gnutls_free_function gnutls_free;
+void gnutls_memset(void *data, int c, size_t size);
 
 extern char *(*gnutls_strdup) (const char *);
 
index 2cf2cb8cd65acbcd30e97d7b32049a54a7d6303c..69a5ea2d1284ec3fdca0842ee8458fea04a52035 100644 (file)
 # include <gnutls_int.h>
 #endif
 
-/* This is based on a nice trick for safe memset,
- * sent by David Jacobson in the openssl-dev mailing list.
- */
-
-void _gnutls_safe_memset(void *data, int c, size_t size)
+/**
+ * gnutls_memset:
+ * @data: the memory to set
+ * @c: the constant byte to fill the memory with
+ * @n: the size of memory
+ *
+ * This function will operate similarly to memset(), but will
+ * not be optimized out by the compiler.
+ *
+ * Returns: void.
+ *
+ * Since: 3.3.3
+ **/
+void gnutls_memset(void *data, int c, size_t size)
 {
        volatile unsigned volatile_zero = 0;
        volatile char *vdata = (volatile char*)data;
 
+       /* This is based on a nice trick for safe memset,
+        * sent by David Jacobson in the openssl-dev mailing list.
+        */
+
        do {
                memset(data, c, size);
        } while(vdata[volatile_zero] != c);
@@ -43,7 +56,7 @@ int main()
 {
        char x[64];
 
-       safe_memset(x, 0, sizeof(x));
+       gnutls_memset(x, 0, sizeof(x));
 
        return 0;