aboutsummaryrefslogtreecommitdiff
path: root/openssl/trunk/crypto/pkcs7/pk7_smime.c
diff options
context:
space:
mode:
Diffstat (limited to 'openssl/trunk/crypto/pkcs7/pk7_smime.c')
-rw-r--r--openssl/trunk/crypto/pkcs7/pk7_smime.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/openssl/trunk/crypto/pkcs7/pk7_smime.c b/openssl/trunk/crypto/pkcs7/pk7_smime.c
index 1f4a0a17..dc835e5b 100644
--- a/openssl/trunk/crypto/pkcs7/pk7_smime.c
+++ b/openssl/trunk/crypto/pkcs7/pk7_smime.c
@@ -127,9 +127,12 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
}
}
+ if(flags & PKCS7_DETACHED)PKCS7_set_detached(p7, 1);
+
if (flags & PKCS7_STREAM)
return p7;
+
if (!(p7bio = PKCS7_dataInit(p7, NULL))) {
PKCS7err(PKCS7_F_PKCS7_SIGN,ERR_R_MALLOC_FAILURE);
PKCS7_free(p7);
@@ -138,7 +141,6 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
SMIME_crlf_copy(data, p7bio, flags);
- if(flags & PKCS7_DETACHED)PKCS7_set_detached(p7, 1);
if (!PKCS7_dataFinal(p7,p7bio)) {
PKCS7err(PKCS7_F_PKCS7_SIGN,PKCS7_R_PKCS7_DATASIGN);