Set memory BIOs up properly when stripping text headers from S/MIME messages.
authorDr. Stephen Henson <steve@openssl.org>
Fri, 21 Nov 2008 18:18:13 +0000 (18:18 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Fri, 21 Nov 2008 18:18:13 +0000 (18:18 +0000)
crypto/cms/cms_smime.c
crypto/pkcs7/pk7_smime.c

index dec8ef32f87d76df48866807bf01a9150fc4c6d7..f754b3ce4fb75f48d5ee3d52461dd9ef62559f60 100644 (file)
@@ -68,7 +68,10 @@ static int cms_copy_content(BIO *out, BIO *in, unsigned int flags)
        if (out == NULL)
                tmpout = BIO_new(BIO_s_null());
        else if (flags & CMS_TEXT)
+               {
                tmpout = BIO_new(BIO_s_mem());
+               BIO_set_mem_eof_return(tmpout, 0);
+               }
        else
                tmpout = out;
 
index ffde1dba59a2c4f2adb9d170433efa03f0a491dc..a577141d3b0a143bbad03c12c8bb804c4581033e 100644 (file)
@@ -380,6 +380,7 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
                        PKCS7err(PKCS7_F_PKCS7_VERIFY,ERR_R_MALLOC_FAILURE);
                        goto err;
                }
+               BIO_set_mem_eof_return(tmpout, 0);
        } else tmpout = out;
 
        /* We now have to 'read' from p7bio to calculate digests etc. */