]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
apps: fix coverity 1470781: explicit null dereference
authorPauli <ppzgs1@gmail.com>
Fri, 19 Mar 2021 00:23:12 +0000 (10:23 +1000)
committerPauli <pauli@openssl.org>
Thu, 25 Mar 2021 22:44:04 +0000 (08:44 +1000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14618)

apps/gendsa.c

index 13ac69d37d25663c734188a7839b57c71b596786..482191d8bf34e94ebcca9a67647fb2826152a5c2 100644 (file)
@@ -60,8 +60,7 @@ int gendsa_main(int argc, char **argv)
     char *dsaparams = NULL, *ciphername = NULL;
     char *outfile = NULL, *passoutarg = NULL, *passout = NULL, *prog;
     OPTION_CHOICE o;
-    int ret = 1, private = 0, verbose = 0;
-    const BIGNUM *p = NULL;
+    int ret = 1, private = 0, verbose = 0, nbits;
 
     prog = opt_init(argc, argv, gendsa_options);
     while ((o = opt_next()) != OPT_EOF) {
@@ -126,7 +125,8 @@ int gendsa_main(int argc, char **argv)
     if (out == NULL)
         goto end2;
 
-    if (EVP_PKEY_bits(pkey) > OPENSSL_DSA_MAX_MODULUS_BITS)
+    nbits = EVP_PKEY_bits(pkey);
+    if (nbits > OPENSSL_DSA_MAX_MODULUS_BITS)
         BIO_printf(bio_err,
                    "Warning: It is not recommended to use more than %d bit for DSA keys.\n"
                    "         Your key size is %d! Larger key size may behave not as expected.\n",
@@ -144,7 +144,7 @@ int gendsa_main(int argc, char **argv)
         goto end;
     }
     if (verbose)
-        BIO_printf(bio_err, "Generating DSA key, %d bits\n", BN_num_bits(p));
+        BIO_printf(bio_err, "Generating DSA key, %d bits\n", nbits);
     if (EVP_PKEY_keygen(ctx, &pkey) <= 0) {
         BIO_printf(bio_err, "unable to generate key\n");
         goto end;