Revert "crypt32: Correct CryptVerifyMessageSignature's use of pcbDecoded.".

This reverts commit 78c9015861.
The comments in the tests indicate that the tests are a little funny
anyway, so they clearly weren't enough justification for the change
introduced here.
This commit is contained in:
Juan Lang 2012-11-01 20:28:30 -07:00 committed by Alexandre Julliard
parent 373e472db9
commit 1040e41516
2 changed files with 4 additions and 14 deletions

View File

@ -210,6 +210,9 @@ BOOL WINAPI CryptVerifyMessageSignature(PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
if (msg)
{
ret = CryptMsgUpdate(msg, pbSignedBlob, cbSignedBlob, TRUE);
if (ret && pcbDecoded)
ret = CryptMsgGetParam(msg, CMSG_CONTENT_PARAM, 0, pbDecoded,
pcbDecoded);
if (ret)
{
CERT_INFO *certInfo = CRYPT_GetSignerCertInfoFromMsg(msg,
@ -241,20 +244,6 @@ BOOL WINAPI CryptVerifyMessageSignature(PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
}
CryptMemFree(certInfo);
}
if (ret)
{
/* The caller is expected to pass a valid pointer to pcbDecoded
* when the message verifies successfully.
*/
if (pcbDecoded)
ret = CryptMsgGetParam(msg, CMSG_CONTENT_PARAM, 0, pbDecoded,
pcbDecoded);
else
{
SetLastError(CRYPT_E_NOT_FOUND);
ret = FALSE;
}
}
CryptMsgClose(msg);
}
if(!ret && pcbDecoded)

View File

@ -608,6 +608,7 @@ static void test_verify_message_signature(void)
ret = CryptVerifyMessageSignature(&para, 0,
signedWithCertWithValidPubKeyContent,
sizeof(signedWithCertWithValidPubKeyContent), NULL, 0, NULL);
todo_wine
ok(!ret, "Expected failure\n");
/* Finally, a message signed with a valid public key verifies successfully
*/