mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-28 21:46:02 -04:00
KVM: selftests: Add atoi_paranoid() to catch errors missed by atoi()
atoi() doesn't detect errors. There is no way to know that a 0 return is correct conversion or due to an error. Introduce atoi_paranoid() to detect errors and provide correct conversion. Replace all atoi() calls with atoi_paranoid(). Signed-off-by: Vipin Sharma <vipinsh@google.com> Suggested-by: David Matlack <dmatlack@google.com> Suggested-by: Sean Christopherson <seanjc@google.com> Reviewed-by: Sean Christopherson <seanjc@google.com> Link: https://lore.kernel.org/r/20221103191719.1559407-4-vipinsh@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
committed by
Sean Christopherson
parent
0eb88a4121
commit
018ea2d71a
@@ -885,21 +885,21 @@ static bool parse_args(int argc, char *argv[],
|
||||
map_unmap_verify = true;
|
||||
break;
|
||||
case 's':
|
||||
targs->nslots = atoi(optarg);
|
||||
targs->nslots = atoi_paranoid(optarg);
|
||||
if (targs->nslots <= 0 && targs->nslots != -1) {
|
||||
pr_info("Slot count cap has to be positive or -1 for no cap\n");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'f':
|
||||
targs->tfirst = atoi(optarg);
|
||||
targs->tfirst = atoi_paranoid(optarg);
|
||||
if (targs->tfirst < 0) {
|
||||
pr_info("First test to run has to be non-negative\n");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'e':
|
||||
targs->tlast = atoi(optarg);
|
||||
targs->tlast = atoi_paranoid(optarg);
|
||||
if (targs->tlast < 0 || targs->tlast >= NTESTS) {
|
||||
pr_info("Last test to run has to be non-negative and less than %zu\n",
|
||||
NTESTS);
|
||||
@@ -907,14 +907,14 @@ static bool parse_args(int argc, char *argv[],
|
||||
}
|
||||
break;
|
||||
case 'l':
|
||||
targs->seconds = atoi(optarg);
|
||||
targs->seconds = atoi_paranoid(optarg);
|
||||
if (targs->seconds < 0) {
|
||||
pr_info("Test length in seconds has to be non-negative\n");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'r':
|
||||
targs->runs = atoi(optarg);
|
||||
targs->runs = atoi_paranoid(optarg);
|
||||
if (targs->runs <= 0) {
|
||||
pr_info("Runs per test has to be positive\n");
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user