From: Simon Glass Date: Thu, 6 Oct 2016 02:42:11 +0000 (-0600) Subject: Fix return value in trailing_strtoln() X-Git-Url: http://git.dujemihanovic.xyz/html/index.html?a=commitdiff_plain;h=b91c6a1209e7da1a7f989d9ac35d0d8be0b7b710;p=u-boot.git Fix return value in trailing_strtoln() This function should return -1 if there is no trailing integer in the string. Instead it returns 0. Fix it by checking for this condition at the start. Signed-off-by: Simon Glass Reviewed-by: Bin Meng --- diff --git a/lib/strto.c b/lib/strto.c index a6c01574da..e93a4f5491 100644 --- a/lib/strto.c +++ b/lib/strto.c @@ -160,9 +160,11 @@ long trailing_strtoln(const char *str, const char *end) if (!end) end = str + strlen(str); - for (p = end - 1; p > str; p--) { - if (!isdigit(*p)) - return simple_strtoul(p + 1, NULL, 10); + if (isdigit(end[-1])) { + for (p = end - 1; p > str; p--) { + if (!isdigit(*p)) + return simple_strtoul(p + 1, NULL, 10); + } } return -1;