summaryrefslogtreecommitdiff
path: root/gdk/wayland
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2020-04-20 19:44:14 +0200
committerTimm Bäder <mail@baedert.org>2020-05-05 08:20:09 +0200
commit85237c8665aa74213b9a70e261c0431da230f3cc (patch)
tree0e105ff7441d47cc18bb6f50032fbb844d2a34f8 /gdk/wayland
parent61195df7a3039fdf4bc5423aa17d495e45a41977 (diff)
downloadgtk+-85237c8665aa74213b9a70e261c0431da230f3cc.tar.gz
gdkdisplay-wayland: Fix a possibly uninitialized out value
Diffstat (limited to 'gdk/wayland')
-rw-r--r--gdk/wayland/gdkdisplay-wayland.c11
1 files 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