commit 830efea3e9d6945f3be7ae58791f3ffe0f8a1753
parent dcd8530bcced262cd1689d2072ed416193072659
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Mon, 2 Nov 2015 17:05:00 +0100
Bugfix on cstr_to_long when value out of range
Missing test of errno added
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/cstr.h b/src/cstr.h
@@ -61,8 +61,9 @@ cstr_to_long(const char* str, long* dst)
char* end;
ASSERT(dst);
if(!str) return RES_BAD_ARG;
+ errno = 0;
*dst = strtol(str, &end, 10/* base */);
- if(end == str)
+ if(end == str || errno == ERANGE)
return RES_BAD_ARG;
for(;*end != '\0'; ++end) {
if(*end != ' ' && *end != '\t')