summaryrefslogtreecommitdiffstats
path: root/apps/pkcs8.c
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2016-01-11 20:40:38 -0500
committerRich Salz <rsalz@openssl.org>2016-01-12 01:00:31 -0500
commitbd4850df648bee9d8e0595b7e1147266e6f55a3e (patch)
tree4a62e47c26c25cd7b55418cf7fb3b9c7ba9fc45f /apps/pkcs8.c
parent2bec39eb86986349d2538fffc821f2e1106cee14 (diff)
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 <viktor@openssl.org>
Diffstat (limited to 'apps/pkcs8.c')
-rw-r--r--apps/pkcs8.c8
1 files changed, 4 insertions, 4 deletions
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