]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Null out keys between test runs.
authordtucker@openbsd.org <dtucker@openbsd.org>
Sat, 24 May 2025 06:50:28 +0000 (06:50 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Sat, 24 May 2025 07:23:29 +0000 (17:23 +1000)
BENCH_START and BENCH_FINISH are actually a while() loop in disguise,
so if sshkey_generate does not reset the key pointer on failure the test
may incorrectly pass.  It also confuses Coverity (CID 551234).

OpenBSD-Regress-ID: bf4d32079fc6df6dce1f26c2025f4ed492f13936

regress/unittests/sshkey/test_sshkey.c

index 832ef9b202ccac6f2219496bd66095af055b42bf..9dbd913066a81671253f040037c20d98885414d4 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: test_sshkey.c,v 1.29 2025/05/06 06:05:48 djm Exp $ */
+/*     $OpenBSD: test_sshkey.c,v 1.30 2025/05/24 06:50:28 dtucker Exp $ */
 /*
  * Regress test for sshkey.h key management API
  *
@@ -560,6 +560,7 @@ sshkey_benchmarks(void)
        ASSERT_INT_EQ(sshkey_generate(KEY_RSA, 1024, &k), 0);
        ASSERT_PTR_NE(k, NULL);
        sshkey_free(k);
+       k = NULL;
        TEST_DONE();
        BENCH_FINISH("keys");
 
@@ -568,15 +569,16 @@ sshkey_benchmarks(void)
        ASSERT_INT_EQ(sshkey_generate(KEY_RSA, 2048, &k), 0);
        ASSERT_PTR_NE(k, NULL);
        sshkey_free(k);
+       k = NULL;
        TEST_DONE();
        BENCH_FINISH("keys");
 
-
        BENCH_START("generate ECDSA-256");
        TEST_START("generate KEY_ECDSA");
        ASSERT_INT_EQ(sshkey_generate(KEY_ECDSA, 256, &k), 0);
        ASSERT_PTR_NE(k, NULL);
        sshkey_free(k);
+       k = NULL;
        TEST_DONE();
        BENCH_FINISH("keys");
 
@@ -585,6 +587,7 @@ sshkey_benchmarks(void)
        ASSERT_INT_EQ(sshkey_generate(KEY_ECDSA, 384, &k), 0);
        ASSERT_PTR_NE(k, NULL);
        sshkey_free(k);
+       k = NULL;
        TEST_DONE();
        BENCH_FINISH("keys");
 
@@ -593,6 +596,7 @@ sshkey_benchmarks(void)
        ASSERT_INT_EQ(sshkey_generate(KEY_ECDSA, 521, &k), 0);
        ASSERT_PTR_NE(k, NULL);
        sshkey_free(k);
+       k = NULL;
        TEST_DONE();
        BENCH_FINISH("keys");
 #endif /* WITH_OPENSSL */
@@ -602,6 +606,7 @@ sshkey_benchmarks(void)
        ASSERT_INT_EQ(sshkey_generate(KEY_ED25519, 256, &k), 0);
        ASSERT_PTR_NE(k, NULL);
        sshkey_free(k);
+       k = NULL;
        TEST_DONE();
        BENCH_FINISH("keys");