diff options
author | Timm Bäder <mail@baedert.org> | 2020-04-20 19:44:14 +0200 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2020-05-05 08:20:09 +0200 |
commit | 85237c8665aa74213b9a70e261c0431da230f3cc (patch) | |
tree | 0e105ff7441d47cc18bb6f50032fbb844d2a34f8 /gdk/wayland | |
parent | 61195df7a3039fdf4bc5423aa17d495e45a41977 (diff) | |
download | gtk+-85237c8665aa74213b9a70e261c0431da230f3cc.tar.gz |
gdkdisplay-wayland: Fix a possibly uninitialized out value
Diffstat (limited to 'gdk/wayland')
-rw-r--r-- | gdk/wayland/gdkdisplay-wayland.c | 11 |
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 |