diff options
-rw-r--r-- | src/lib/libcrypto/mem.c | 10 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/mem.c | 10 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/lib/libcrypto/mem.c b/src/lib/libcrypto/mem.c index 29df7d35b2..bb862db499 100644 --- a/src/lib/libcrypto/mem.c +++ b/src/lib/libcrypto/mem.c | |||
@@ -352,11 +352,15 @@ void *CRYPTO_realloc_clean(void *str, int old_len, int num, const char *file, | |||
352 | realloc_debug_func(str, NULL, num, file, line, 0); | 352 | realloc_debug_func(str, NULL, num, file, line, 0); |
353 | ret=malloc_ex_func(num,file,line); | 353 | ret=malloc_ex_func(num,file,line); |
354 | if(ret) | 354 | if(ret) |
355 | { | ||
355 | memcpy(ret,str,old_len); | 356 | memcpy(ret,str,old_len); |
356 | OPENSSL_cleanse(str,old_len); | 357 | OPENSSL_cleanse(str,old_len); |
357 | free_func(str); | 358 | free_func(str); |
359 | } | ||
358 | #ifdef LEVITTE_DEBUG_MEM | 360 | #ifdef LEVITTE_DEBUG_MEM |
359 | fprintf(stderr, "LEVITTE_DEBUG_MEM: | 0x%p -> 0x%p (%d)\n", str, ret, num); | 361 | fprintf(stderr, |
362 | "LEVITTE_DEBUG_MEM: | 0x%p -> 0x%p (%d)\n", | ||
363 | str, ret, num); | ||
360 | #endif | 364 | #endif |
361 | if (realloc_debug_func != NULL) | 365 | if (realloc_debug_func != NULL) |
362 | realloc_debug_func(str, ret, num, file, line, 1); | 366 | realloc_debug_func(str, ret, num, file, line, 1); |
diff --git a/src/lib/libssl/src/crypto/mem.c b/src/lib/libssl/src/crypto/mem.c index 29df7d35b2..bb862db499 100644 --- a/src/lib/libssl/src/crypto/mem.c +++ b/src/lib/libssl/src/crypto/mem.c | |||
@@ -352,11 +352,15 @@ void *CRYPTO_realloc_clean(void *str, int old_len, int num, const char *file, | |||
352 | realloc_debug_func(str, NULL, num, file, line, 0); | 352 | realloc_debug_func(str, NULL, num, file, line, 0); |
353 | ret=malloc_ex_func(num,file,line); | 353 | ret=malloc_ex_func(num,file,line); |
354 | if(ret) | 354 | if(ret) |
355 | { | ||
355 | memcpy(ret,str,old_len); | 356 | memcpy(ret,str,old_len); |
356 | OPENSSL_cleanse(str,old_len); | 357 | OPENSSL_cleanse(str,old_len); |
357 | free_func(str); | 358 | free_func(str); |
359 | } | ||
358 | #ifdef LEVITTE_DEBUG_MEM | 360 | #ifdef LEVITTE_DEBUG_MEM |
359 | fprintf(stderr, "LEVITTE_DEBUG_MEM: | 0x%p -> 0x%p (%d)\n", str, ret, num); | 361 | fprintf(stderr, |
362 | "LEVITTE_DEBUG_MEM: | 0x%p -> 0x%p (%d)\n", | ||
363 | str, ret, num); | ||
360 | #endif | 364 | #endif |
361 | if (realloc_debug_func != NULL) | 365 | if (realloc_debug_func != NULL) |
362 | realloc_debug_func(str, ret, num, file, line, 1); | 366 | realloc_debug_func(str, ret, num, file, line, 1); |