28 lines
1.2 KiB
Plaintext
28 lines
1.2 KiB
Plaintext
In the interests of debugging SSLeay, there is an option to compile
|
|
using some simple memory leak checking.
|
|
|
|
All malloc(), free() and realloc() calls in SSLeay now go via
|
|
Malloc(), Free() and Realloc() (except those in crypto/lhash).
|
|
|
|
If CRYPTO_MDEBUG is defined, these calls are #defined to
|
|
CRYPTO_malloc(), CRYPTO_free() and CRYPTO_realloc().
|
|
If it is not defined, they are #defined to malloc(), free() and realloc().
|
|
|
|
the CRYPTO_malloc() routines by default just call the underlying library
|
|
functons.
|
|
|
|
If CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) is called, memory leak detection is
|
|
turned on. CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_OFF) turns it off.
|
|
|
|
When turned on, each Malloc() or Realloc() call is recored along with the file
|
|
and line number from where the call was made. (This is done using the
|
|
lhash library which always uses normal system malloc(3) routines).
|
|
|
|
void CRYPTO_mem_leaks(BIO *b);
|
|
void CRYPTO_mem_leaks_fp(FILE *fp);
|
|
These both print out the list of memory that has not been free()ed.
|
|
This will probably be rather hard to read, but if you look for the 'top level'
|
|
structure allocation, this will often give an idea as to what is not being
|
|
free()ed. I don't expect people to use this stuff normally.
|
|
|