From da6b03540fbe3e4579084e1e08a93b1612d16f7e Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Mon, 25 Jul 2016 12:19:43 -0500 Subject: [PATCH] wayland_shm: Fix fd leak in dmabuf Need to close the fd from PrimeHandleToFD. --- src/modules/evas/engines/wayland_shm/evas_dmabuf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/evas/engines/wayland_shm/evas_dmabuf.c b/src/modules/evas/engines/wayland_shm/evas_dmabuf.c index ed8e1b1752..c713b622ed 100644 --- a/src/modules/evas/engines/wayland_shm/evas_dmabuf.c +++ b/src/modules/evas/engines/wayland_shm/evas_dmabuf.c @@ -484,6 +484,7 @@ _evas_dmabuf_buffer_destroy(Dmabuf_Buffer *b) b->surface = NULL; return; } + if (b->fd != -1) close(b->fd); /* The buffer manager may have been destroyed already if we're * doing fallback */ if (buffer_manager) buffer_manager->discard(b); @@ -644,6 +645,7 @@ _evas_dmabuf_buffer_init(Dmabuf_Surface *s, int w, int h) out = calloc(1, sizeof(Dmabuf_Buffer)); if (!out) return NULL; + out->fd = -1; out->surface = s; out->bh = bm->alloc(bm, "name", w, h, &out->stride, &out->fd); if (!out->bh)