From 5c4a7e3483c13a310c1300f0035ac6e3a57baf61 Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Tue, 6 Jan 2009 14:40:53 -0800 Subject: [PATCH] --- yaml --- r: 126278 b: refs/heads/master c: e899aa823ad74860a17b541b0ad38f513728923d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/lib/vsprintf.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 9954855509b6..2ecb459cf901 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ff083c8372f6312bb3a8c7f7b748920aeeb210c9 +refs/heads/master: e899aa823ad74860a17b541b0ad38f513728923d diff --git a/trunk/lib/vsprintf.c b/trunk/lib/vsprintf.c index 98d632277ca8..0fbd0121d91d 100644 --- a/trunk/lib/vsprintf.c +++ b/trunk/lib/vsprintf.c @@ -170,6 +170,8 @@ int strict_strtoul(const char *cp, unsigned int base, unsigned long *res) return -EINVAL; val = simple_strtoul(cp, &tail, base); + if (tail == cp) + return -EINVAL; if ((*tail == '\0') || ((len == (size_t)(tail - cp) + 1) && (*tail == '\n'))) { *res = val; @@ -241,6 +243,8 @@ int strict_strtoull(const char *cp, unsigned int base, unsigned long long *res) return -EINVAL; val = simple_strtoull(cp, &tail, base); + if (tail == cp) + return -EINVAL; if ((*tail == '\0') || ((len == (size_t)(tail - cp) + 1) && (*tail == '\n'))) { *res = val;