X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fmem_sec.c;h=196c2457ad806828c6b5fbf18db6581397a08a7b;hp=5f4f733fd06f3f11f5871be37a7c25e39d5cd224;hb=b3ca51559b1a6cd80dc179ee54613f00190d1cb4;hpb=bbd86bf5424a611cb6b77a3a17fc522931c4dcb8 diff --git a/crypto/mem_sec.c b/crypto/mem_sec.c index 5f4f733fd0..196c2457ad 100644 --- a/crypto/mem_sec.c +++ b/crypto/mem_sec.c @@ -13,10 +13,11 @@ #include #include +#include + #if defined(OPENSSL_SYS_LINUX) || defined(OPENSSL_SYS_UNIX) # define IMPLEMENTED # include -# include # include # include # include @@ -110,6 +111,15 @@ void *CRYPTO_secure_malloc(size_t num, const char *file, int line) #endif /* IMPLEMENTED */ } +void *CRYPTO_secure_zalloc(size_t num, const char *file, int line) +{ + void *ret = CRYPTO_secure_malloc(num, file, line); + + if (ret != NULL) + memset(ret, 0, num); + return ret; +} + void CRYPTO_secure_free(void *ptr) { #ifdef IMPLEMENTED @@ -157,6 +167,19 @@ size_t CRYPTO_secure_used() #endif /* IMPLEMENTED */ } +size_t CRYPTO_secure_actual_size(void *ptr) +{ +#ifdef IMPLEMENTED + size_t actual_size; + + LOCK(); + actual_size = sh_actual_size(ptr); + UNLOCK(); + return actual_size; +#else + return 0; +#endif +} /* END OF PAGE ... ... START OF PAGE */