From 113c6145253530e64f7592bdef510fe46c64ca0d Mon Sep 17 00:00:00 2001 From: Alexander Morozov Date: Tue, 23 Nov 2010 13:02:22 +0300 Subject: [PATCH] crypt32/tests: Do not crash on some Win98. --- dlls/crypt32/tests/msg.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/dlls/crypt32/tests/msg.c b/dlls/crypt32/tests/msg.c index 63149e7171..d560c30444 100644 --- a/dlls/crypt32/tests/msg.c +++ b/dlls/crypt32/tests/msg.c @@ -2081,15 +2081,18 @@ static void test_enveloped_msg_open(void) SetLastError(0xdeadbeef); context = CertCreateCertificateContext(X509_ASN_ENCODING, v1CertWithValidPubKey, sizeof(v1CertWithValidPubKey)); - ok(context != NULL, "CertCreateCertificateContext failed: %08x\n", - GetLastError()); - envelopedInfo.rgpRecipientCert = (PCERT_INFO *)&context->pCertInfo; - SetLastError(0xdeadbeef); - msg = CryptMsgOpenToEncode(PKCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED, - &envelopedInfo, NULL, NULL); - todo_wine - ok(msg != NULL, "CryptMsgOpenToEncode failed: %08x\n", GetLastError()); - CryptMsgClose(msg); + if (context) + { + envelopedInfo.rgpRecipientCert = (PCERT_INFO *)&context->pCertInfo; + SetLastError(0xdeadbeef); + msg = CryptMsgOpenToEncode(PKCS_7_ASN_ENCODING, 0, CMSG_ENVELOPED, + &envelopedInfo, NULL, NULL); + todo_wine + ok(msg != NULL, "CryptMsgOpenToEncode failed: %08x\n", GetLastError()); + CryptMsgClose(msg); + } + else + win_skip("failed to create certificate context, skipping a test\n"); SetLastError(0xdeadbeef); ret = pCryptAcquireContextA(&envelopedInfo.hCryptProv, NULL, NULL,