From 52e6dc71becf4ee7f473f8af79fd71f95b6889c0 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Tue, 10 Jul 2012 13:05:03 +0300 Subject: [PATCH] cursor: fix fd leak and a segfault - don't leak fd in shm_pool_destroy() - return NULL from wl_cursor_theme_load() if pool fails Tha last one fixes a segfault, when shm_pool_create() has failed. Signed-off-by: Pekka Paalanen --- cursor/wayland-cursor.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cursor/wayland-cursor.c b/cursor/wayland-cursor.c index c41860a..186ab6f 100644 --- a/cursor/wayland-cursor.c +++ b/cursor/wayland-cursor.c @@ -108,6 +108,7 @@ shm_pool_destroy(struct shm_pool *pool) { munmap(pool->data, pool->size); wl_shm_pool_destroy(pool->pool); + close(pool->fd); free(pool); } @@ -281,6 +282,11 @@ wl_cursor_theme_load(const char *name, int size, struct wl_shm *shm) theme->pool = shm_pool_create(shm, size * size * 4); + if (!theme->pool) { + free(theme->name); + free(theme); + return NULL; + } xcursor_load_theme(name, size, load_callback, theme); -- 2.7.4