Remove the CRYPTO_mem_leaks adjustment for the BIO
authorMatt Caswell <matt@openssl.org>
Wed, 30 Mar 2016 17:12:59 +0000 (18:12 +0100)
committerMatt Caswell <matt@openssl.org>
Wed, 30 Mar 2016 23:12:47 +0000 (00:12 +0100)
commitb3895f42a9a90a74097c75e39d87ed3212be18dd
tree4bd19f42bdfd19e1b47b900d0e727a934c8e772d
parent79c7f74d6cefd5d32fa20e69195ad3de834ce065
Remove the CRYPTO_mem_leaks adjustment for the BIO

CRYPTO_mem_leaks attempts to adjust the count of bytes leaks to not
include the BIO that is being used to print the results out. However this
does not work properly. In all internal cases we switch off recording
the memory allocation during creation of the BIO so it makes no difference.
In other cases if the BIO allocates any additional memory during
construction then the adjustment will be wrong anyway. It also skips over
the BIO memory during print_leak anyway, so the BIO memory is never
added into the total. In other words this was broken in lots of ways and
has been since it was first added.

The simplest solution is just to make it the documented behaviour that
you must turn off memory logging when creating the BIO, and remove all
the adjustment stuff completely. The adjustment code was only ever in
master and never made it to a release branch so there is no loss of
functionality.

This commit also fixes a compilation failure when using
enable-crypto-mdebug.

Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/mem_dbg.c