[PATCH wayland v2] server: don't send an error to NULL display_resource

Marek Chalupa mchqwerty at gmail.com
Mon Jan 11 02:45:12 PST 2016


if display_resource = wl_resource_create() fails in bind_display(),
we call wl_client_post_no_memory() which is wrong, since this function
uses display_resource (which is NULL at this point).
said simply: don't send an error to resource that you've just failed to create)

https://bugs.freedesktop.org/show_bug.cgi?id=91356

Reported-by: Ashim <ashim.shah at samsung.com>
Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
---
 src/wayland-server.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/wayland-server.c b/src/wayland-server.c
index 9e26b18..017a975 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -778,7 +778,8 @@ bind_display(struct wl_client *client, struct wl_display *display)
 	client->display_resource =
 		wl_resource_create(client, &wl_display_interface, 1, 1);
 	if (client->display_resource == NULL) {
-		wl_client_post_no_memory(client);
+		/* DON'T send no-memory error to client - it has no
+		 * resource to which it could post the event */
 		return -1;
 	}
 
-- 
2.5.0



More information about the wayland-devel mailing list