Up until now, newly created wl_proxys (with proxy_create or
wl_proxy_create_for_id) are not initialized properly after memory
allocation. The wl_display object in contrast is. To prevent giving
uninitialized data to the user (e.g. user_data) an appropriate memset
has been added.

Signed-off-by: Nils Chr. Brause <nilschrbra...@googlemail.com>
---
 src/wayland-client.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/wayland-client.c b/src/wayland-client.c
index 3e401d3..8006581 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -274,6 +274,8 @@ proxy_create(struct wl_proxy *factory, const struct
wl_interface *interface)
     if (proxy == NULL)
         return NULL;
 
+    memset(proxy, 0, sizeof *proxy);
+
     proxy->object.interface = interface;
     proxy->object.implementation = NULL;
     proxy->dispatcher = NULL;
@@ -331,6 +333,8 @@ wl_proxy_create_for_id(struct wl_proxy *factory,
     if (proxy == NULL)
         return NULL;
 
+    memset(proxy, 0, sizeof *proxy);
+
     proxy->object.interface = interface;
     proxy->object.implementation = NULL;
     proxy->object.id = id;
-- 
2.0.4

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to