Don't finalize signerinfo if reuse and partial both set.
diff --git a/crypto/pkcs7/pk7_smime.c b/crypto/pkcs7/pk7_smime.c index 64a3cc4..39b18a4 100644 --- a/crypto/pkcs7/pk7_smime.c +++ b/crypto/pkcs7/pk7_smime.c
@@ -216,7 +216,8 @@ { if (!pkcs7_copy_existing_digest(p7, si)) goto err; - if (!PKCS7_SIGNER_INFO_sign(si)) + if (!(flags & PKCS7_PARTIAL) && + !PKCS7_SIGNER_INFO_sign(si)) goto err; } }