aboutsummaryrefslogtreecommitdiffstats
path: root/src/scanner.c
diff options
context:
space:
mode:
authorImran Zaman <imran.zaman@gmail.com>2014-11-05 17:40:18 +0200
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2014-11-10 15:25:13 +0200
commitff769d8faed7adb6747423a17fbdf11f87b67f64 (patch)
tree1f42e195da324b0dea16b37c2265bca943c83f86 /src/scanner.c
parenttests: use our own XDG_RUNTIME_DIR for tests (diff)
downloadwayland-ff769d8faed7adb6747423a17fbdf11f87b67f64.tar
wayland-ff769d8faed7adb6747423a17fbdf11f87b67f64.tar.gz
wayland-ff769d8faed7adb6747423a17fbdf11f87b67f64.tar.bz2
wayland-ff769d8faed7adb6747423a17fbdf11f87b67f64.tar.lz
wayland-ff769d8faed7adb6747423a17fbdf11f87b67f64.tar.xz
wayland-ff769d8faed7adb6747423a17fbdf11f87b67f64.tar.zst
wayland-ff769d8faed7adb6747423a17fbdf11f87b67f64.zip
scanner, client: Added more error checks when strtol function is used
Signed-off-by: Imran Zaman <imran.zaman@gmail.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Diffstat (limited to 'src/scanner.c')
-rw-r--r--src/scanner.c4
1 files changed, 3 insertions, 1 deletions
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;
}