]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
tests: Check the return value of BN_hex2bn()
authorNorbert Pocs <norbertp@openssl.org>
Tue, 14 Jul 2026 12:31:24 +0000 (14:31 +0200)
committerNorbert Pocs <norbertp@openssl.org>
Mon, 20 Jul 2026 09:04:11 +0000 (11:04 +0200)
Fixes coverity issues 139863516965481696549.

Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Mon Jul 20 09:04:13 2026
(Merged from https://github.com/openssl/openssl/pull/31943)

test/bntest.c
test/ectest.c
test/srptest.c

index 5c8f76e1bc407138c00aed24dccdc76c66022f2c..d15af9dbe545037a6ee9aa17e7a37658eba77cec 100644 (file)
@@ -1800,15 +1800,16 @@ static int file_modexp(STANZA *s)
     }
 
     /* Regression test for carry propagation bug in sqr8x_reduction */
-    BN_hex2bn(&a, "050505050505");
-    BN_hex2bn(&b, "02");
-    BN_hex2bn(&c,
-        "4141414141414141414141274141414141414141414141414141414141414141"
-        "4141414141414141414141414141414141414141414141414141414141414141"
-        "4141414141414141414141800000000000000000000000000000000000000000"
-        "0000000000000000000000000000000000000000000000000000000000000000"
-        "0000000000000000000000000000000000000000000000000000000000000000"
-        "0000000000000000000000000000000000000000000000000000000001");
+    if (!TEST_true(BN_hex2bn(&a, "050505050505"))
+        || !TEST_true(BN_hex2bn(&b, "02"))
+        || !TEST_true(BN_hex2bn(&c,
+            "4141414141414141414141274141414141414141414141414141414141414141"
+            "4141414141414141414141414141414141414141414141414141414141414141"
+            "4141414141414141414141800000000000000000000000000000000000000000"
+            "0000000000000000000000000000000000000000000000000000000000000000"
+            "0000000000000000000000000000000000000000000000000000000000000000"
+            "0000000000000000000000000000000000000000000000000000000001")))
+        goto err;
     if (!TEST_true(BN_mod_exp(d, a, b, c, ctx))
         || !TEST_true(BN_mul(e, a, a, ctx))
         || !TEST_BN_eq(d, e))
index 36fcb500893eb085d372aee7ab6b7fdc60227f1c..363d119c96aa3d1fed9a46a0ebe76ea0b0d7c141 100644 (file)
@@ -1127,16 +1127,18 @@ static int group_field_test(void)
     EC_GROUP *secp521r1_group = NULL;
     EC_GROUP *sect163r2_group = NULL;
 
-    BN_hex2bn(&secp521r1_field,
-        "01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
-        "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
-        "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
-        "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
-        "FFFF");
-
-    BN_hex2bn(&sect163r2_field,
-        "08000000000000000000000000000000"
-        "00000000C9");
+    if (!TEST_true(BN_hex2bn(&secp521r1_field,
+            "01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+            "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+            "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+            "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
+            "FFFF"))
+        || !TEST_true(BN_hex2bn(&sect163r2_field,
+            "08000000000000000000000000000000"
+            "00000000C9"))) {
+        BN_free(secp521r1_field);
+        return 0;
+    }
 
     secp521r1_group = EC_GROUP_new_by_curve_name(NID_secp521r1);
     if (BN_cmp(secp521r1_field, EC_GROUP_get0_field(secp521r1_group)))
index 0fceadd24b3a64297dd57e8acab990425c4a6097..d7620f95f9a7344c37aaeb1c106178f14b04dc6a 100644 (file)
@@ -149,11 +149,10 @@ static int run_srp_kat(void)
     /* use builtin 1024-bit params */
     const SRP_gN *GN;
 
-    if (!TEST_ptr(GN = SRP_get_default_gN("1024")))
-        goto err;
-    BN_hex2bn(&s, "BEB25379D1A8581EB5A727673A2441EE");
-    /* Set up server's password entry */
-    if (!TEST_true(SRP_create_verifier_BN("alice", "password123", &s, &v, GN->N,
+    if (!TEST_ptr(GN = SRP_get_default_gN("1024"))
+        || !TEST_true(BN_hex2bn(&s, "BEB25379D1A8581EB5A727673A2441EE"))
+        /* Set up server's password entry */
+        || !TEST_true(SRP_create_verifier_BN("alice", "password123", &s, &v, GN->N,
             GN->g)))
         goto err;
 
@@ -168,8 +167,9 @@ static int run_srp_kat(void)
     TEST_note("    okay");
 
     /* Server random */
-    BN_hex2bn(&b, "E487CB59D31AC550471E81F00F6928E01DDA08E974A004F49E61F5D1"
-                  "05284D20");
+    if (!TEST_true(BN_hex2bn(&b, "E487CB59D31AC550471E81F00F6928E01DDA08E974A004F49E61F5D1"
+                                 "05284D20")))
+        goto err;
 
     /* Server's first message */
     Bpub = SRP_Calc_B(b, GN->N, GN->g, v);
@@ -187,8 +187,9 @@ static int run_srp_kat(void)
     TEST_note("    okay");
 
     /* Client random */
-    BN_hex2bn(&a, "60975527035CF2AD1989806F0407210BC81EDC04E2762A56AFD529DD"
-                  "DA2D4393");
+    if (!TEST_true(BN_hex2bn(&a, "60975527035CF2AD1989806F0407210BC81EDC04E2762A56AFD529DD"
+                                 "DA2D4393")))
+        goto err;
 
     /* Client's response */
     Apub = SRP_Calc_A(a, GN->N, GN->g);