fixes for defects:

clang-analyzer-deadcode.DeadStores in examples/server/server.c;

-Werror=use-after-free and LeakSanitizer Direct leak in tests/api.c;

nullPointerRedundantCheck in src/pk.c which identified a semantically consequential flub.
This commit is contained in:
Daniel Pouzzner
2022-11-08 14:04:16 -06:00
parent ca1ca24bc9
commit 48ba365fd6
3 changed files with 7 additions and 2 deletions

View File

@ -578,7 +578,9 @@ static void ServerRead(WOLFSSL* ssl, char* input, int inputLen)
else if (SSL_get_error(ssl, 0) == 0 &&
tcp_select(SSL_get_fd(ssl), 0) == TEST_RECV_READY) {
/* do a peek and check for "pending" */
#ifdef WOLFSSL_ASYNC_CRYPT
err = 0;
#endif
do {
#ifdef WOLFSSL_ASYNC_CRYPT
if (err == WC_PENDING_E) {

View File

@ -3112,7 +3112,7 @@ WC_RNG* WOLFSSL_RSA_GetRNG(WOLFSSL_RSA* rsa, WC_RNG** tmpRng, int* initTmpRng)
if ((!err) && (rng == NULL) && (tmpRng != NULL)) {
/* Make an RNG with tmpRng or get global. */
rng = wolfssl_make_rng(*tmpRng, initTmpRng);
if ((rng != NULL) && initTmpRng) {
if ((rng != NULL) && *initTmpRng) {
*tmpRng = rng;
}
}

View File

@ -43525,6 +43525,9 @@ static int test_wolfSSL_PEM_read_DHparams(void)
AssertIntEQ(derOutSz, derExpectedSz);
AssertIntEQ(XMEMCMP(derOut, derExpected, derOutSz), 0);
DH_free(dh);
dh = NULL;
/* Test parsing with X9.42 header */
fp = XFOPEN("./certs/x942dh2048.pem", "rb");
AssertNotNull(dh = PEM_read_DHparams(fp, &dh, NULL, NULL));
@ -56139,11 +56142,11 @@ static int test_wolfSSL_PEM_write_DHparams(void)
AssertNotNull(fp = XFOPEN("./test-write-dhparams.pem", "wb"));
AssertIntEQ(PEM_write_DHparams(fp, dh), WOLFSSL_SUCCESS);
AssertIntEQ(PEM_write_DHparams(fp, NULL), WOLFSSL_FAILURE);
XFCLOSE(fp);
DH_free(dh);
dh = wolfSSL_DH_new();
AssertIntEQ(PEM_write_DHparams(fp, dh), WOLFSSL_FAILURE);
XFCLOSE(fp);
wolfSSL_DH_free(dh);
/* check results */