trace: don't leak the line prefix
The openssl app registers trace callbacks which automatically set a line prefix in the OSSL_TRACE_CTRL_BEGIN callback. This prefix needs to be cleared in the OSSL_TRACE_CTRL_END callback, otherwise a memory leak is reported when openssl is built with crypto-mdebug enabled. This leak causes the tests to fail when tracing and memory debugging are enabled. The leak can be observed by any command that produces trace output, e.g. by OPENSSL_TRACE=ANY util/shlib_wrap.sh apps/openssl version ... [00:19:14] 4061 file=apps/bf_prefix.c, line=152, ... 26 bytes leaked in 1 chunks Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8463)
This commit is contained in:
parent
5afb177c3c
commit
13d06925e8
3 changed files with 18 additions and 22 deletions
|
@ -65,7 +65,7 @@ static int trace_write(BIO *channel,
|
|||
const char *buf, size_t num, size_t *written)
|
||||
{
|
||||
struct trace_data_st *ctx = BIO_get_data(channel);
|
||||
size_t cnt = ctx->callback(buf, num, ctx->category, OSSL_TRACE_CTRL_DURING,
|
||||
size_t cnt = ctx->callback(buf, num, ctx->category, OSSL_TRACE_CTRL_WRITE,
|
||||
ctx->data);
|
||||
|
||||
*written = cnt;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue