diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2016-01-14 13:33:52 -0600 |
---|---|---|
committer | Bryce Harrington <bryce@bryceharrington.org> | 2016-02-01 17:26:08 -0800 |
commit | 0d56e380f676e6fe475ffba71f11b480adf4e0a5 (patch) | |
tree | ce180a30327f41739c64e32eb625eebe8b74fc50 | |
parent | 5ac34a101237a1534dcd7c14952f7c20ac2d9235 (diff) | |
download | wayland-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.c | 5 |
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, |