From a24ea6fae444a3aca9351f36e409a0495e244e70 Mon Sep 17 00:00:00 2001 From: Ruby Martin Date: Wed, 13 May 2026 17:14:27 -0600 Subject: [PATCH] add guard to clear null dereference --- tests/api.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/tests/api.c b/tests/api.c index 4b0a657f6d..ae8f6f355f 100644 --- a/tests/api.c +++ b/tests/api.c @@ -23967,21 +23967,23 @@ static int test_ParseSerial0FixtureMatrix(void) ExpectIntGE(derSz = wc_CertPemToDer(pemBuf, (int)pemSz, derBuf, (int)pemSz, CERT_TYPE), 0); - wc_InitDecodedCert(&dc, derBuf, (word32)derSz, NULL); - ret = wc_ParseCert(&dc, CERT_TYPE, NO_VERIFY, NULL); - if (cases[i].certTypeShouldPass) - ExpectIntEQ(ret, 0); - else - ExpectIntNE(ret, 0); - wc_FreeDecodedCert(&dc); + if (EXPECT_SUCCESS()) { + wc_InitDecodedCert(&dc, derBuf, (word32)derSz, NULL); + ret = wc_ParseCert(&dc, CERT_TYPE, NO_VERIFY, NULL); + if (cases[i].certTypeShouldPass) + ExpectIntEQ(ret, 0); + else + ExpectIntNE(ret, 0); + wc_FreeDecodedCert(&dc); - wc_InitDecodedCert(&dc, derBuf, (word32)derSz, NULL); - ret = wc_ParseCert(&dc, CA_TYPE, NO_VERIFY, NULL); - if (cases[i].caTypeShouldPass) - ExpectIntEQ(ret, 0); - else - ExpectIntNE(ret, 0); - wc_FreeDecodedCert(&dc); + wc_InitDecodedCert(&dc, derBuf, (word32)derSz, NULL); + ret = wc_ParseCert(&dc, CA_TYPE, NO_VERIFY, NULL); + if (cases[i].caTypeShouldPass) + ExpectIntEQ(ret, 0); + else + ExpectIntNE(ret, 0); + wc_FreeDecodedCert(&dc); + } XFREE(derBuf, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pemBuf, NULL, DYNAMIC_TYPE_TMP_BUFFER);