]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Coverity 1529992: Check return value of sscanf()
authorTomas Mraz <tomas@openssl.org>
Wed, 7 Jun 2023 11:29:01 +0000 (13:29 +0200)
committerTodd Short <todd.short@me.com>
Sat, 10 Jun 2023 23:23:59 +0000 (19:23 -0400)
Also moving the call to setup_tests() where it
fits better.

test/x509_check_cert_pkey_test.c

index c53f566d51558715529d1a8ace2c1fca5978d233..83f4cb563c8615994b2875d562f68375de191409 100644 (file)
@@ -107,7 +107,7 @@ failed:
 }
 
 static const char *file; /* path of a cert/CRL/key file in PEM format */
-static const char *num;  /* expected number of certs/CRLs/keys included */
+static int expected;     /* expected number of certs/CRLs/keys included */
 
 static int test_PEM_X509_INFO_read_bio(void)
 {
@@ -115,13 +115,11 @@ static int test_PEM_X509_INFO_read_bio(void)
     STACK_OF(X509_INFO) *sk;
     X509_INFO *it;
     int i, count = 0;
-    int expected = 0;
 
     if (!TEST_ptr((in = BIO_new_file(file, "r"))))
         return 0;
     sk = PEM_X509_INFO_read_bio(in, NULL, NULL, "");
     BIO_free(in);
-    sscanf(num, "%d", &expected);
     for (i = 0; i < sk_X509_INFO_num(sk); i++) {
         it = sk_X509_INFO_value(sk, i);
         if (it->x509 != NULL)
@@ -160,9 +158,13 @@ int setup_tests(void)
     }
 
     if (test_get_argument_count() == 2) {
+        const char *num;  /* expected number of certs/CRLs/keys included */
+
         if (!TEST_ptr(file = test_get_argument(0))
                 || !TEST_ptr(num = test_get_argument(1)))
             return 0;
+        if (!TEST_int_eq(sscanf(num, "%d", &expected), 1))
+            return 0;
         ADD_TEST(test_PEM_X509_INFO_read_bio);
         return 1;
     }