From 85237c8665aa74213b9a70e261c0431da230f3cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 20 Apr 2020 19:44:14 +0200 Subject: [PATCH] gdkdisplay-wayland: Fix a possibly uninitialized out value --- gdk/wayland/gdkdisplay-wayland.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c index e30acdad1b..037af89fdb 100644 --- a/gdk/wayland/gdkdisplay-wayland.c +++ b/gdk/wayland/gdkdisplay-wayland.c @@ -1287,13 +1287,13 @@ create_shm_pool (struct wl_shm *shm, fd = open_shared_memory (); if (fd < 0) - return NULL; + goto fail; if (ftruncate (fd, size) < 0) { g_critical (G_STRLOC ": Truncating shared memory file failed: %m"); close (fd); - return NULL; + goto fail; } data = mmap (NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); @@ -1302,7 +1302,7 @@ create_shm_pool (struct wl_shm *shm, { g_critical (G_STRLOC ": mmap'ping shared memory file failed: %m"); close (fd); - return NULL; + goto fail; } pool = wl_shm_create_pool (shm, fd, size); @@ -1313,6 +1313,11 @@ create_shm_pool (struct wl_shm *shm, *buf_length = size; return pool; + +fail: + *data_out = NULL; + *buf_length = 0; + return NULL; } static void