summaryrefslogtreecommitdiff
path: root/xwayland
diff options
context:
space:
mode:
authorBryce Harrington <bryce@osg.samsung.com>2016-08-03 17:40:49 -0700
committerBryce Harrington <bryce@osg.samsung.com>2016-08-06 18:19:12 -0700
commit139fcabe7cdb1f2296bf02ef917aaab84e00cd4e (patch)
tree7ec6ad93ebcf4b83432aeccb0e9abd281c24c96f /xwayland
parent913d7c15f79da33aa97100286df5d8f88731e252 (diff)
xwayland: Improve error checking for strtol call
This updates the error checking for the strtol() call in xwayland's create_lockfile to match other cases. C.f. cbc05378 and other recent patches. A notable difference here is that the existing error checking was verifying that exactly 10 digits were being read from the lock file, but the fact that it's 10 digits is just an implementation detail for how we're writing it. The pid could be a shorter number of digits, and would just be space-padded on the left. This change allows the file to contain any number of digits, but it can't be blank, all of the digits must be numeric, and the resulting number must be within the accepted range. Signed-off-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'xwayland')
-rw-r--r--xwayland/launcher.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xwayland/launcher.c b/xwayland/launcher.c
index 15443cd1..a83784c6 100644
--- a/xwayland/launcher.c
+++ b/xwayland/launcher.c
@@ -165,8 +165,9 @@ create_lockfile(int display, char *lockfile, size_t lsize)
return -1;
}
+ errno = 0;
other = strtol(pid, &end, 10);
- if (end != pid + 10) {
+ if (errno != 0 || end == pid || *end != '\0') {
weston_log("can't parse lock file %s\n",
lockfile);
close(fd);