diff options
author | Oliver Mihatsch <oliver.mihatsch@virtual-solution.com> | 2021-07-05 16:23:03 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2021-07-08 12:06:24 +0200 |
commit | ce50fd96dc542fe22a42265019e556272fd060ba (patch) | |
tree | 259475d152990ddf9466bbd7b0a00691cd92c96f /ssl/ssl_cert.c | |
parent | f8fc0e35e0b1813af15887d42e17b7d5537bb86c (diff) |
Fix memory leak in i2d_ASN1_bio_stream
When creating a signed S/MIME message using SMIME_write_CMS()
if the reading from the bio fails, the state is therefore
still ASN1_STATE_START when BIO_flush() is called by i2d_ASN1_bio_stream().
This results in calling asn1_bio_flush_ex cleanup but will only
reset retry flags as the state is not ASN1_STATE_POST_COPY.
Therefore 48 bytes (Linux x86_64) leaked since the
ndef_prefix_free / ndef_suffix_free callbacks are not executed
and the ndef_aux structure is not freed.
By always calling free function callback in asn1_bio_free() the
memory leak is fixed.
(cherry picked from commit 3a1d2b59522163ebb83bb68e13c896188dc222c6)
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15999)
Diffstat (limited to 'ssl/ssl_cert.c')
0 files changed, 0 insertions, 0 deletions