mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-09-06 18:05:39 +00:00
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>
This commit is contained in:
parent
913d7c15f7
commit
139fcabe7c
|
@ -165,8 +165,9 @@ create_lockfile(int display, char *lockfile, size_t lsize)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
errno = 0;
|
||||||
other = strtol(pid, &end, 10);
|
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",
|
weston_log("can't parse lock file %s\n",
|
||||||
lockfile);
|
lockfile);
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
Loading…
Reference in a new issue