From bd4850df648bee9d8e0595b7e1147266e6f55a3e Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Mon, 11 Jan 2016 20:40:38 -0500 Subject: RT4227: Range-check in apps. Implement range-checking in all counts in apps. Turns out only a couple of cases were missing. And make the range-checking code more strict. Replace almost all opt_ulong() calls with opt_long() Reviewed-by: Viktor Dukhovni --- apps/pkcs8.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'apps/pkcs8.c') diff --git a/apps/pkcs8.c b/apps/pkcs8.c index 3d7282eabb..5db78fc216 100644 --- a/apps/pkcs8.c +++ b/apps/pkcs8.c @@ -121,7 +121,7 @@ int pkcs8_main(int argc, char **argv) int informat = FORMAT_PEM, outformat = FORMAT_PEM, topk8 = 0, pbe_nid = -1; int private = 0; #ifndef OPENSSL_NO_SCRYPT - unsigned long scrypt_N = 0, scrypt_r = 0, scrypt_p = 0; + long scrypt_N = 0, scrypt_r = 0, scrypt_p = 0; #endif prog = opt_init(argc, argv, pkcs8_options); @@ -210,15 +210,15 @@ int pkcs8_main(int argc, char **argv) cipher = EVP_aes_256_cbc(); break; case OPT_SCRYPT_N: - if (!opt_ulong(opt_arg(), &scrypt_N)) + if (!opt_long(opt_arg(), &scrypt_N) || scrypt_N <= 0) goto opthelp; break; case OPT_SCRYPT_R: - if (!opt_ulong(opt_arg(), &scrypt_r)) + if (!opt_long(opt_arg(), &scrypt_r) || scrypt_r <= 0) goto opthelp; break; case OPT_SCRYPT_P: - if (!opt_ulong(opt_arg(), &scrypt_p)) + if (!opt_long(opt_arg(), &scrypt_p) || scrypt_p <= 0) goto opthelp; break; #endif -- cgit v1.2.3