summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtto Moerbeek <otto@cvs.openbsd.org>2004-07-16 18:36:06 +0000
committerOtto Moerbeek <otto@cvs.openbsd.org>2004-07-16 18:36:06 +0000
commit0fd947949724a0fb4a8b1420ed03df72a8e63970 (patch)
tree1a15383f62b97488b0ef7cf13a12fb6c6a7471f5
parenteecbd6f5a665c31e1fb654fbffd03b3482cf1109 (diff)
Do not forget to test the lower bound if the upper bound > LLONG_MAX.
ok millert@
-rw-r--r--lib/libc/stdlib/strtonum.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libc/stdlib/strtonum.c b/lib/libc/stdlib/strtonum.c
index 4c41c22b8b1..a2dfed25caf 100644
--- a/lib/libc/stdlib/strtonum.c
+++ b/lib/libc/stdlib/strtonum.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: strtonum.c,v 1.4 2004/07/16 16:03:36 millert Exp $ */
+/* $OpenBSD: strtonum.c,v 1.5 2004/07/16 18:36:05 otto Exp $ */
/*
* Copyright (c) 2004 Ted Unangst and Todd Miller
* All rights reserved.
@@ -55,6 +55,8 @@ strtonum(const char *numstr, long long minval, unsigned long long umaxval,
else if ((ull == ULLONG_MAX && errno == ERANGE) ||
ull > umaxval)
error = TOOLARGE;
+ else if (ull < minval)
+ error = TOOSMALL;
} else {
if (minval > maxval || maxval < minval) {
error = INVALID;