From ff769d8faed7adb6747423a17fbdf11f87b67f64 Mon Sep 17 00:00:00 2001 From: Imran Zaman Date: Wed, 5 Nov 2014 17:40:18 +0200 Subject: scanner, client: Added more error checks when strtol function is used Signed-off-by: Imran Zaman Reviewed-by: Pekka Paalanen --- src/scanner.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/scanner.c') diff --git a/src/scanner.c b/src/scanner.c index 5e5152b..fa8e0c0 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -405,11 +405,13 @@ start_element(void *data, const char *element_name, const char **atts) message->destructor = 0; if (since != NULL) { + int prev_errno = errno; errno = 0; version = strtol(since, &end, 0); - if (errno == EINVAL || end == since || *end != '\0') + if (errno != 0 || end == since || *end != '\0') fail(&ctx->loc, "invalid integer (%s)\n", since); + errno = prev_errno; } else { version = 1; } -- cgit v1.2.3-70-g09d2