diff options
author | Richard Levitte <levitte@openssl.org> | 2016-02-17 04:24:25 +0300 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-02-17 12:12:49 +0300 |
commit | 05c7b1631b4f6884b9ef5f0943a3d16d36383f52 (patch) | |
tree | 1c835de8d3de04a28174f1178b5b8360ed3e6aa1 /crypto/mem_dbg.c | |
parent | e159fd154362dbaa03c2aaa80e758312bd99fbab (diff) |
Implement the use of heap manipulator implementions
- Make use of the functions given through CRYPTO_set_mem_functions().
- CRYPTO_free(), CRYPTO_clear_free() and CRYPTO_secure_free() now receive
__FILE__ and __LINE__.
- The API for CRYPTO_set_mem_functions() and CRYPTO_get_mem_functions()
is slightly changed, the implementation for free() now takes a couple
of extra arguments, taking __FILE__ and __LINE__.
- The CRYPTO_ memory functions will *always* receive __FILE__ and __LINE__
from the corresponding OPENSSL_ macros, regardless of if crypto-mdebug
has been enabled or not. The reason is that if someone swaps out the
malloc(), realloc() and free() implementations, we can't know if they
will use them or not.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/mem_dbg.c')
-rw-r--r-- | crypto/mem_dbg.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/mem_dbg.c b/crypto/mem_dbg.c index b905fabfa1..f2a1fd837a 100644 --- a/crypto/mem_dbg.c +++ b/crypto/mem_dbg.c @@ -474,7 +474,8 @@ void CRYPTO_mem_debug_malloc(void *addr, size_t num, int before_p, return; } -void CRYPTO_mem_debug_free(void *addr, int before_p) +void CRYPTO_mem_debug_free(void *addr, int before_p, + const char *file, int line) { MEM m, *mp; |