summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-01-14 13:33:52 -0600
committerBryce Harrington <bryce@bryceharrington.org>2016-02-01 17:26:08 -0800
commit0d56e380f676e6fe475ffba71f11b480adf4e0a5 (patch)
treece180a30327f41739c64e32eb625eebe8b74fc50
parent5ac34a101237a1534dcd7c14952f7c20ac2d9235 (diff)
downloadwayland-0d56e380f676e6fe475ffba71f11b480adf4e0a5.tar.gz
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 <derekf@osg.samsung.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
-rw-r--r--src/wayland-server.c5
1 files changed, 5 insertions, 0 deletions
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,