summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-01-14 11:02:18 -0600
committerDerek Foreman <derekf@osg.samsung.com>2016-01-14 13:12:32 -0600
commit2b4c053924150d6652c42aa28ce70d173757ab0b (patch)
tree444cb8dd71f6b7e153b8d84687c34cf748b2512f
parent16b4cc6902e2755522ce792ee2796df487c0860a (diff)
downloadwayland-2b4c053924150d6652c42aa28ce70d173757ab0b.tar.gz
server: Test for illegally low interface versions in wl_global_create()
Any version lower than 1 is unreasonable. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
-rw-r--r--src/wayland-server.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/wayland-server.c b/src/wayland-server.c
index c129b7d..3a7d79d 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -908,6 +908,13 @@ wl_global_create(struct wl_display *display,
struct wl_global *global;
struct wl_resource *resource;
+ if (version < 1) {
+ wl_log("wl_global_create: failing to create interface "
+ "'%s' with version %d because it is less than 1\n",
+ interface->name, version);
+ return NULL;
+ }
+
if (version > interface->version) {
wl_log("wl_global_create: implemented version for '%s' "
"higher than interface version (%d > %d)\n",