From 405f3821444d67201f999c86b6c534a081cf10e7 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Tue, 5 Aug 2008 15:56:11 +0000 Subject: [PATCH] Fix from HEAD. --- crypto/asn1/asn_mime.c | 2 ++ crypto/cms/cms_smime.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/crypto/asn1/asn_mime.c b/crypto/asn1/asn_mime.c index fe7c4ec7ab..bc80b20d63 100644 --- a/crypto/asn1/asn_mime.c +++ b/crypto/asn1/asn_mime.c @@ -526,6 +526,8 @@ int SMIME_text(BIO *in, BIO *out) sk_MIME_HEADER_pop_free(headers, mime_hdr_free); while ((len = BIO_read(in, iobuf, sizeof(iobuf))) > 0) BIO_write(out, iobuf, len); + if (len < 0) + return 0; return 1; } diff --git a/crypto/cms/cms_smime.c b/crypto/cms/cms_smime.c index f79c504e91..b35d28d411 100644 --- a/crypto/cms/cms_smime.c +++ b/crypto/cms/cms_smime.c @@ -89,11 +89,13 @@ static int cms_copy_content(BIO *out, BIO *in, unsigned int flags) if (!BIO_get_cipher_status(in)) goto err; } + if (i < 0) + goto err; break; } - if (tmpout) - BIO_write(tmpout, buf, i); + if (tmpout && (BIO_write(tmpout, buf, i) != i)) + goto err; } if(flags & CMS_TEXT) -- 2.25.1