summaryrefslogtreecommitdiff
path: root/lib/gnutls_mem.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gnutls_mem.h')
-rw-r--r--lib/gnutls_mem.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/gnutls_mem.h b/lib/gnutls_mem.h
index 41fb88d9d0..657d59aa83 100644
--- a/lib/gnutls_mem.h
+++ b/lib/gnutls_mem.h
@@ -37,4 +37,19 @@ svoid *gnutls_secure_calloc(size_t nmemb, size_t size);
void *_gnutls_calloc(size_t nmemb, size_t size);
char *_gnutls_strdup(const char *);
+#define zrelease_mpi_key(mpi) if (*mpi!=NULL) { \
+ _gnutls_mpi_clear(*mpi); \
+ _gnutls_mpi_release(mpi); \
+ }
+
+#define zeroize_key(x, size) memset(x, 0, size)
+
+#ifdef ENABLE_FIPS140
+# define zeroize_temp_key zeroize_key
+# define zrelease_temp_mpi_key zrelease_mpi_key
+#else
+# define zeroize_temp_key(x, size)
+# define zrelease_temp_mpi_key(mpi) _gnutls_mpi_release(mpi)
+#endif
+
#endif /* GNUTLS_MEM_H */