diff options
Diffstat (limited to 'src/lib/libcrypto/cms/cms_smime.c')
-rw-r--r-- | src/lib/libcrypto/cms/cms_smime.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/libcrypto/cms/cms_smime.c b/src/lib/libcrypto/cms/cms_smime.c index f79c504e91..b35d28d411 100644 --- a/src/lib/libcrypto/cms/cms_smime.c +++ b/src/lib/libcrypto/cms/cms_smime.c | |||
@@ -89,11 +89,13 @@ static int cms_copy_content(BIO *out, BIO *in, unsigned int flags) | |||
89 | if (!BIO_get_cipher_status(in)) | 89 | if (!BIO_get_cipher_status(in)) |
90 | goto err; | 90 | goto err; |
91 | } | 91 | } |
92 | if (i < 0) | ||
93 | goto err; | ||
92 | break; | 94 | break; |
93 | } | 95 | } |
94 | 96 | ||
95 | if (tmpout) | 97 | if (tmpout && (BIO_write(tmpout, buf, i) != i)) |
96 | BIO_write(tmpout, buf, i); | 98 | goto err; |
97 | } | 99 | } |
98 | 100 | ||
99 | if(flags & CMS_TEXT) | 101 | if(flags & CMS_TEXT) |