From 0d56e380f676e6fe475ffba71f11b480adf4e0a5 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Thu, 14 Jan 2016 13:33:52 -0600 Subject: server: Fail to bind object when requested version is 0 0 is not a valid version number for registry bind requests, so let's check for it in registry_bind. Signed-off-by: Derek Foreman Reviewed-by: Daniel Stone Reviewed-by: Bryce Harrington --- src/wayland-server.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/wayland-server.c b/src/wayland-server.c index 3ba8a5d..ae9365f 100644 --- a/src/wayland-server.c +++ b/src/wayland-server.c @@ -730,6 +730,11 @@ registry_bind(struct wl_client *client, wl_resource_post_error(resource, WL_DISPLAY_ERROR_INVALID_OBJECT, "invalid global %s (%d)", interface, name); + else if (version == 0) + wl_resource_post_error(resource, + WL_DISPLAY_ERROR_INVALID_OBJECT, + "invalid version for global %s (%d): 0 is not a valid version", + interface, name); else if (global->version < version) wl_resource_post_error(resource, WL_DISPLAY_ERROR_INVALID_OBJECT, -- cgit v1.2.1