diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2016-01-14 11:02:18 -0600 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2016-01-14 13:12:32 -0600 |
commit | 2b4c053924150d6652c42aa28ce70d173757ab0b (patch) | |
tree | 444cb8dd71f6b7e153b8d84687c34cf748b2512f | |
parent | 16b4cc6902e2755522ce792ee2796df487c0860a (diff) | |
download | wayland-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.c | 7 |
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", |