RT2849: Redundant check of "dsa" variable.

In the current code, the check isn't redundant.
And in fact the REAL check was missing.
This avoids a NULL-deref crash.

Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
This commit is contained in:
Rich Salz 2014-09-04 12:55:31 -04:00
parent 683cd7c948
commit 3173622ef6

View File

@ -552,6 +552,11 @@ static void keypair(FILE *in, FILE *out)
int n=atoi(value);
dsa = FIPS_dsa_new();
if (!dsa)
{
fprintf(stderr, "DSA allocation error\n");
exit(1);
}
if (!dsa2 && !dsa_builtin_paramgen(dsa, L, N, NULL, NULL, 0,
NULL, NULL, NULL, NULL))
{
@ -578,8 +583,7 @@ static void keypair(FILE *in, FILE *out)
do_bn_print_name(out, "Y",dsa->pub_key);
fputs(RESP_EOL, out);
}
if (dsa)
FIPS_dsa_free(dsa);
FIPS_dsa_free(dsa);
}
}
}