Skip to content
Snippets Groups Projects
Commit abc2e8d7 authored by Jan Včelák's avatar Jan Včelák :rocket:
Browse files

coverity fix: possible null dereference

CID #1358571
parent 87f9fdaa
No related branches found
No related tags found
No related merge requests found
......@@ -123,8 +123,12 @@ int dnssec_algorithm_key_size_range(dnssec_key_algorithm_t algorithm,
return DNSSEC_INVALID_KEY_ALGORITHM;
}
*min_ptr = limits->min;
*max_ptr = limits->max;
if (min_ptr) {
*min_ptr = limits->min;
}
if (max_ptr) {
*max_ptr = limits->max;
}
return DNSSEC_EOK;
}
......
......@@ -29,6 +29,20 @@ static void ok_range(dnssec_key_algorithm_t algo,
"dnssec_algorithm_key_size_range() for %s", name);
}
static void null_range(void)
{
dnssec_key_algorithm_t algo = DNSSEC_KEY_ALGORITHM_RSA_SHA256;
unsigned val = 0;
int r;
r = dnssec_algorithm_key_size_range(algo, NULL, NULL);
ok(r == DNSSEC_EINVAL, "dnssec_algorithm_key_size_range() all null");
r = dnssec_algorithm_key_size_range(algo, &val, NULL);
ok(r == DNSSEC_EOK && val == 512, "dnssec_algorithm_key_size_range() min only");
r = dnssec_algorithm_key_size_range(algo, NULL, &val);
ok(r == DNSSEC_EOK && val == 4096, "dnssec_algorithm_key_size_range() max only");
}
static void check_borders(void)
{
dnssec_key_algorithm_t rsa = DNSSEC_KEY_ALGORITHM_RSA_SHA1;
......@@ -57,6 +71,7 @@ int main(void)
ok_range(DNSSEC_KEY_ALGORITHM_RSA_SHA256, 512, 4096, "RSA/SHA256");
ok_range(DNSSEC_KEY_ALGORITHM_RSA_SHA512, 1024, 4096, "RSA/SHA512");
ok_range(DNSSEC_KEY_ALGORITHM_ECDSA_P384_SHA384, 384, 384, "ECDSA/SHA384");
null_range();
// special restrictions
dnssec_key_algorithm_t dsa = DNSSEC_KEY_ALGORITHM_DSA_SHA1_NSEC3;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment