From 048625cf2b36a91bcf04c5a1adc02fc5803491ca Mon Sep 17 00:00:00 2001 From: kinichiro Date: Sat, 22 Apr 2017 23:08:17 +0900 Subject: Add freezero support --- crypto/CMakeLists.txt | 5 +++++ crypto/Makefile.am | 4 ++++ crypto/compat/freezero.c | 13 +++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 crypto/compat/freezero.c (limited to 'crypto') diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index d7b65e2..028d840 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt @@ -681,6 +681,11 @@ if(NOT HAVE_ASPRINTF) set(EXTRA_EXPORT ${EXTRA_EXPORT} vasprintf) endif() +if(NOT HAVE_FREEZERO) + set(CRYPTO_SRC ${CRYPTO_SRC} compat/freezero.c) + set(EXTRA_EXPORT ${EXTRA_EXPORT} freezero) +endif() + if(NOT HAVE_GETPAGESIZE) set(CRYPTO_SRC ${CRYPTO_SRC} compat/getpagesize.c) endif() diff --git a/crypto/Makefile.am b/crypto/Makefile.am index 04b67aa..0e7f9c8 100644 --- a/crypto/Makefile.am +++ b/crypto/Makefile.am @@ -84,6 +84,10 @@ if !HAVE_ASPRINTF libcompat_la_SOURCES += compat/bsd-asprintf.c endif +if !HAVE_FREEZERO +libcompat_la_SOURCES += compat/freezero.c +endif + if !HAVE_GETPAGESIZE libcompat_la_SOURCES += compat/getpagesize.c endif diff --git a/crypto/compat/freezero.c b/crypto/compat/freezero.c new file mode 100644 index 0000000..8becc00 --- /dev/null +++ b/crypto/compat/freezero.c @@ -0,0 +1,13 @@ +#include +#include + +void +freezero(void *ptr, size_t sz) +{ + /* This is legal. */ + if (ptr == NULL) + return; + + explicit_bzero(ptr, sz); + free(ptr); +} -- cgit v1.2.3-55-g6feb