From ef93c714f80264dbd5e39a3e27bdca441545aaa0 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 30 Jun 2015 22:55:59 +0200 Subject: [PATCH] broadway: Fix memleak in error case https://bugzilla.gnome.org/show_bug.cgi?id=751752 --- gdk/broadway/broadway-server.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gdk/broadway/broadway-server.c b/gdk/broadway/broadway-server.c index 9c484b6540..42bc50a43a 100644 --- a/gdk/broadway/broadway-server.c +++ b/gdk/broadway/broadway-server.c @@ -827,7 +827,7 @@ map_named_shm (char *name, gsize size) void *ptr; char *filename = NULL; - fd = shm_open(name, O_RDONLY, 0600); + fd = shm_open (name, O_RDONLY, 0600); if (fd == -1) { filename = g_build_filename (g_get_tmp_dir (), name, NULL); @@ -835,13 +835,15 @@ map_named_shm (char *name, gsize size) if (fd == -1) { perror ("Failed to map shm"); + g_free (filename); + return NULL; } } - ptr = mmap(0, size, PROT_READ, MAP_SHARED, fd, 0); + ptr = mmap (0, size, PROT_READ, MAP_SHARED, fd, 0); - (void) close(fd); + (void) close (fd); if (filename) {