]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
test/radix/terp.c: avoid accessing uninitialised terp on error
authorEugene Syromiatnikov <esyr@openssl.org>
Mon, 15 Sep 2025 03:27:58 +0000 (05:27 +0200)
committerNeil Horman <nhorman@openssl.org>
Tue, 16 Sep 2025 13:41:38 +0000 (09:41 -0400)
Stats printing in TERP_run() assumes that terp has been initialised,
which is not the case when a jump to the err label has been performed
before successful TERP_init() call;  avoid it by emplacing it
within a have_terp guard check.

Fixes: 4a2d5fe812f8 "QUIC RADIX: Add RADIX test framework implementation"
Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1665430
References: https://github.com/openssl/project/issues/1432
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28546)

test/radix/terp.c

index 3c83fd9b18b070f05f0c09e3acdb31ac72df53f0..41d3bdeb9fd4ff30987dcd632fb5861b11772ac8 100644 (file)
@@ -871,8 +871,10 @@ err:
     }
 
     GEN_SCRIPT_cleanup(&gen_script);
-    BIO_printf(debug_bio, "Stats:\n  Ops executed: %16llu\n\n",
-               (unsigned long long)terp.ops_executed);
+    if (have_terp) {
+        BIO_printf(debug_bio, "Stats:\n  Ops executed: %16llu\n\n",
+                   (unsigned long long)terp.ops_executed);
+    }
     SCRIPT_INFO_print(script_info, debug_bio, /*error=*/!ok,
                       ok ? "completed" : "failed, exiting");
     return ok;