From beedea2fefcb085250389f2987b52fe3e0e4975c Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Fri, 26 Mar 2004 00:24:38 +0000 Subject: [PATCH] Free up BIO properly when using streaming S/MIME sign. --- crypto/pkcs7/pk7_mime.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/crypto/pkcs7/pk7_mime.c b/crypto/pkcs7/pk7_mime.c index 1823418465..210ec1e8c4 100644 --- a/crypto/pkcs7/pk7_mime.c +++ b/crypto/pkcs7/pk7_mime.c @@ -239,14 +239,13 @@ static int pkcs7_output_data(BIO *out, BIO *data, PKCS7 *p7, int flags) /* Finalize signatures */ PKCS7_dataFinal(p7, p7bio); - /* Now remove any digests from output BIO */ + /* Now remove any digests prepended to the BIO */ - while (1) + while (p7bio != out) { tmpbio = BIO_pop(p7bio); - if (tmpbio == out) - break; - BIO_free(tmpbio); + BIO_free(p7bio); + p7bio = tmpbio; } return 1; -- GitLab