[PATCH wayland] client: Don't inappropriatly close fds for zombie objects
Derek Foreman
derekf at osg.samsung.com
Tue Mar 6 23:38:13 UTC 2018
commit 239ba39331420f953de35c337ae57db35573f9cb which was intended
to stop leaking fds in events for zombie objects didn't notice that
passing 0 to wl_connection_close_fds_in() would still close fds.
Test the fd count before calling.
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
---
src/wayland-client.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/wayland-client.c b/src/wayland-client.c
index c1369b8..1ffa1f0 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -1359,7 +1359,7 @@ queue_event(struct wl_display *display, int len)
if (!proxy || wl_object_is_zombie(&display->objects, id)) {
struct wl_zombie *zombie = wl_map_lookup(&display->objects, id);
- if (zombie)
+ if (zombie && zombie->fd_count[opcode]) {
wl_connection_close_fds_in(display->connection,
zombie->fd_count[opcode]);
--
2.14.3
More information about the wayland-devel
mailing list