summaryrefslogtreecommitdiffstats
path: root/src
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 /src
parentserver: improve failure log message for wl_global_create() (diff)
downloadwayland-2b4c053924150d6652c42aa28ce70d173757ab0b.tar
wayland-2b4c053924150d6652c42aa28ce70d173757ab0b.tar.gz
wayland-2b4c053924150d6652c42aa28ce70d173757ab0b.tar.bz2
wayland-2b4c053924150d6652c42aa28ce70d173757ab0b.tar.lz
wayland-2b4c053924150d6652c42aa28ce70d173757ab0b.tar.xz
wayland-2b4c053924150d6652c42aa28ce70d173757ab0b.tar.zst
wayland-2b4c053924150d6652c42aa28ce70d173757ab0b.zip
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>
Diffstat (limited to 'src')
-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",