X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fpkcs7%2Fpk7_smime.c;h=058efcca2b75d36c8fdefc3db7b12fea9a326c18;hb=37e48b88adda9334fedf83e18f1bff72b4b9c8cf;hp=04489380b8f22d0634958ab91ca9fd52f518bcd4;hpb=b216664f666fa6c6371d1de0f6dd6292472e7f1e;p=oweals%2Fopenssl.git diff --git a/crypto/pkcs7/pk7_smime.c b/crypto/pkcs7/pk7_smime.c index 04489380b8..058efcca2b 100644 --- a/crypto/pkcs7/pk7_smime.c +++ b/crypto/pkcs7/pk7_smime.c @@ -329,7 +329,6 @@ PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, EVP_CIPHER *cipher, BIO *p7bio = NULL; int i; X509 *x509; - char inbuf[4096]; static char txthdr[] = "Content-type: text/plain\r\n\r\n"; if(!(p7 = PKCS7_new())) { PKCS7err(PKCS7_F_PKCS7_ENCRYPT,ERR_R_MALLOC_FAILURE); @@ -362,11 +361,8 @@ PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, EVP_CIPHER *cipher, } } - for (;;) { - i = BIO_read(in, inbuf, sizeof(inbuf)); - if (i <= 0) break; - BIO_write(p7bio, inbuf, i); - } + SMIME_crlf_copy(in, p7bio, flags); + BIO_flush(p7bio); if (!PKCS7_dataFinal(p7,p7bio)) {