From 4fe8c1b67be0f8f7ecdefea1aee93a5f0eb64f88 Mon Sep 17 00:00:00 2001 From: Giorgos Keramidas Date: Sat, 22 Mar 2003 09:23:29 +0000 Subject: [PATCH] Add error and range checking to strtoul() to avoid ending up with a delay time of ULONG_MAX when -I is passed a non-numeric arg. --- usr.sbin/gstat/gstat.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.sbin/gstat/gstat.c b/usr.sbin/gstat/gstat.c index 6c6c4ad20af5..82429353576a 100644 --- a/usr.sbin/gstat/gstat.c +++ b/usr.sbin/gstat/gstat.c @@ -75,7 +75,8 @@ main(int argc, char **argv) case 'I': p = NULL; i = strtoul(optarg, &p, 0); - if (p == optarg) { + if (p == optarg || errno == EINVAL || + errno == ERANGE) { errx(1, "Invalid argument to -I"); } else if (!strcmp(p, "s")) i *= 1000000;