diff options
author | Krzesimir Nowak <qdlacz@gmail.com> | 2015-06-30 22:55:59 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2015-07-01 07:41:13 -0700 |
commit | ef93c714f80264dbd5e39a3e27bdca441545aaa0 (patch) | |
tree | 40ba5097fc3c6e1890b2bbc66ef7f4bc608b1dc6 /gdk/broadway | |
parent | 15c73a2b1aae5be740efa19b3d20f9e6a26f8970 (diff) | |
download | gtk+-ef93c714f80264dbd5e39a3e27bdca441545aaa0.tar.gz |
broadway: Fix memleak in error case
https://bugzilla.gnome.org/show_bug.cgi?id=751752
Diffstat (limited to 'gdk/broadway')
-rw-r--r-- | gdk/broadway/broadway-server.c | 8 |
1 files 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) { |