broadway: Fix memleak in error case
authorKrzesimir Nowak <qdlacz@gmail.com>
Tue, 30 Jun 2015 20:55:59 +0000 (22:55 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 1 Jul 2015 14:41:13 +0000 (07:41 -0700)
https://bugzilla.gnome.org/show_bug.cgi?id=751752

gdk/broadway/broadway-server.c

index 9c484b65405b7e7cade9e4a9c11986440ddd280a..42bc50a43af94f1c24078b7905b04eb324903b9e 100644 (file)
@@ -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)
     {