mirror of
https://github.com/amadvance/snapraid.git
synced 2026-10-26 19:01:57 -04:00
Avoid undefined behaviour parsing double
This commit is contained in:
parent
1d2ab288d1
commit
8ee24aa26c
1 changed files with 6 additions and 2 deletions
|
|
@ -1100,13 +1100,17 @@ int snapraid_main(int argc, char* argv[])
|
|||
plan100 = SCRUB_FULL;
|
||||
} else {
|
||||
double plan_double = strtod(optarg, &e);
|
||||
plan100 = plan_double * 100;
|
||||
if (!e || *e || plan100 > 10000) {
|
||||
if (!e || *e != 0
|
||||
|| !isfinite(plan_double)
|
||||
|| plan_double < 0
|
||||
|| plan_double > 100
|
||||
) {
|
||||
/* LCOV_EXCL_START */
|
||||
log_fatal(EUSER, "Invalid plan/percentage '%s'\n", optarg);
|
||||
exit(EXIT_FAILURE);
|
||||
/* LCOV_EXCL_STOP */
|
||||
}
|
||||
plan100 = plan_double * 100;
|
||||
}
|
||||
break;
|
||||
case 'o' :
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue