req: fix Coverity 1485137 Explicit null dereference

Add a check for a non-existent file name when specifying params via file.
Add a check for a failure to determine key type.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15534)
This commit is contained in:
Pauli 2021-05-31 09:26:05 +10:00
parent 28cab20916
commit 8ee66a092c
1 changed files with 11 additions and 0 deletions

View File

@ -1522,6 +1522,12 @@ static EVP_PKEY_CTX *set_keygen_ctx(const char *gstr,
if (strncmp(gstr, "param", len) == 0) {
expect_paramfile = 1;
if (p == NULL) {
BIO_printf(bio_err,
"Parameter file requested but no path given: %s\n",
gstr);
return NULL;
}
} else {
keytype = gstr;
keytypelen = len;
@ -1569,6 +1575,11 @@ static EVP_PKEY_CTX *set_keygen_ctx(const char *gstr,
}
if (keytype == NULL) {
keytype = EVP_PKEY_get0_type_name(param);
if (keytype == NULL) {
EVP_PKEY_free(param);
BIO_puts(bio_err, "Unable to determine key type\n");
return NULL;
}
}
}