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;
 			}
 		}