Add missing return value checks

Also correct the return value from the the "prime" application

Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
Matt Caswell 2016-04-15 14:31:03 +01:00
parent 46da5f9ca9
commit e69f2a223c

View File

@ -122,16 +122,26 @@ int prime_main(int argc, char **argv)
goto end;
}
bn = BN_new();
BN_generate_prime_ex(bn, bits, safe, NULL, NULL, NULL);
if (!BN_generate_prime_ex(bn, bits, safe, NULL, NULL, NULL)) {
BIO_printf(bio_err, "Failed to generate prime.\n");
goto end;
}
s = hex ? BN_bn2hex(bn) : BN_bn2dec(bn);
BIO_printf(bio_out, "%s\n", s);
OPENSSL_free(s);
} else {
for ( ; *argv; argv++) {
int r;
if (hex)
BN_hex2bn(&bn, argv[0]);
r = BN_hex2bn(&bn, argv[0]);
else
BN_dec2bn(&bn, argv[0]);
r = BN_dec2bn(&bn, argv[0]);
if(!r) {
BIO_printf(bio_err, "Failed to process value (%s)\n", argv[0]);
goto end;
}
BN_print(bio_out, bn);
BIO_printf(bio_out, " (%s) %s prime\n",
@ -143,6 +153,7 @@ int prime_main(int argc, char **argv)
BN_free(bn);
ret = 0;
end:
return ret;
}