[PATCH] wayland-client: Require base 10 for WAYLAND_SOCKET, explicitly

Yong Bakos junk at humanoriented.com
Sat Jul 9 01:36:19 UTC 2016


On Jul 8, 2016, at 4:42 PM, Bryce Harrington <bryce at osg.samsung.com> wrote:
> 
> The third arg to strtol() specifies the base to assume for the number.
> When 0 is passed, as is currently done in wayland-client.c, hexadecimal
> and octal numbers are permitted and automatically detected and
> converted.
> 
> I can find no indication that we would ever expect use of hexadecimal or
> octal for socket fd's.  So be explicit about what base we're assuming
> here and avoid any potential surprises.
> 
> Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>

I can think of no drawbacks to this.

Reviewed-by: Yong Bakos <ybakos at humanoriented.com>

Note that tests/exec-fd-leak-checker.c:40 also passes a 0 to strtol,
and the usage (see main's 'help_out:') alludes to a decimal, the number
of expected fd's. Might as well update that arg to 10 as well?

Regards,
yong


> ---
> src/wayland-client.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/wayland-client.c b/src/wayland-client.c
> index 03c087a..3d7361e 100644
> --- a/src/wayland-client.c
> +++ b/src/wayland-client.c
> @@ -1006,7 +1006,7 @@ wl_display_connect(const char *name)
> 	if (connection) {
> 		int prev_errno = errno;
> 		errno = 0;
> -		fd = strtol(connection, &end, 0);
> +		fd = strtol(connection, &end, 10);
> 		if (errno != 0 || connection == end || *end != '\0')
> 			return NULL;
> 		errno = prev_errno;
> -- 
> 1.9.1
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel



More information about the wayland-devel mailing list