diff options
author | Todd C. Miller <Todd.Miller@courtesan.com> | 1999-10-10 21:21:22 +0000 |
---|---|---|
committer | Todd C. Miller <Todd.Miller@courtesan.com> | 1999-10-10 21:21:22 +0000 |
commit | 3525c322b999acdb033d2b11a0d19e05dcb2de94 (patch) | |
tree | 4ccd80551b85cfa9ad5f8667340d6cfc29eb028e | |
parent | 73a0e624e509db626be1190a208d0548de743414 (diff) | |
download | sudo-3525c322b999acdb033d2b11a0d19e05dcb2de94.tar.gz |
use strtol, not strtoul since not everyone has not strtoul
-rw-r--r-- | defaults.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/defaults.c b/defaults.c index c10b48b60..bde4823fa 100644 --- a/defaults.c +++ b/defaults.c @@ -547,16 +547,16 @@ store_int(val, def, op) int op; { char *endp; - unsigned long ul; + long l; if (op == FALSE) { def->sd_un.ival = 0; } else { - ul = strtoul(val, &endp, 10); - if (*endp != '\0') + l = strtol(val, &endp, 10); + if (*endp != '\0' || l < 0) return(FALSE); - /* XXX - should check against UINT_MAX */ - def->sd_un.ival = (unsigned int)ul; + /* XXX - should check against INT_MAX */ + def->sd_un.ival = (unsigned int)l; } return(TRUE); } @@ -642,15 +642,15 @@ store_mode(val, def, op) int op; { char *endp; - unsigned long ul; + long l; if (op == FALSE) { def->sd_un.mode = 0777; } else { - ul = strtoul(val, &endp, 8); - if (*endp != '\0' || ul >= 0777) + l = strtol(val, &endp, 8); + if (*endp != '\0' || l < 0 || l >= 0777) return(FALSE); - def->sd_un.mode = (mode_t)ul; + def->sd_un.mode = (mode_t)l; } return(TRUE); } |