[PATCH wayland] server: validate resource versions at creation time
Derek Foreman
derekf at osg.samsung.com
Thu Jan 14 12:46:06 PST 2016
We shouldn't ever create a resource with version less than 1 or
greater than the interface version.
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
---
I'm a little nervous about this one.
Anything doing this probably gets what it deserves, but it does
break wayland's own resource-test...
I guess a compromise is landing it without the return NULL...
src/wayland-server.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/wayland-server.c b/src/wayland-server.c
index 3a7d79d..8719417 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -1349,6 +1349,13 @@ wl_resource_create(struct wl_client *client,
{
struct wl_resource *resource;
+ if (version < 1 || version > interface->version) {
+ wl_log("wl_resource_create: invalid resource version %d "
+ "for interface '%s' - must be in range [0, %d]\n",
+ version, interface->name, interface->version);
+ return NULL;
+ }
+
resource = malloc(sizeof *resource);
if (resource == NULL)
return NULL;
--
2.7.0.rc3
More information about the wayland-devel
mailing list