]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
grub-probe: fix memory leak
authorAndrei Borzenkov <arvidjaar@gmail.com>
Sat, 16 Jan 2016 18:47:28 +0000 (21:47 +0300)
committerAndrei Borzenkov <arvidjaar@gmail.com>
Sat, 16 Jan 2016 18:47:28 +0000 (21:47 +0300)
Found by: Coverity scan.
CID: 73783

util/grub-probe.c

index 36b7f8bcbeb2f6b990bd11cf5cff156be61d2a45..8ac527d2f2a17142c5cf873d27c5818477d2c1a4 100644 (file)
@@ -279,7 +279,7 @@ probe (const char *path, char **device_names, char delim)
          printf ("%s", *curdev);
          putchar (delim);
        }
-      return;
+      goto free_device_names;
     }
 
   if (print == PRINT_DISK)
@@ -297,7 +297,7 @@ probe (const char *path, char **device_names, char delim)
          putchar (delim);
          free (disk);
        }
-      return;
+      goto free_device_names;
     }
 
   for (curdev = device_names; *curdev; curdev++)
@@ -669,6 +669,7 @@ probe (const char *path, char **device_names, char delim)
     free (*curdrive);
   free (drives_names);
 
+free_device_names:
   if (path != NULL)
     {
       for (curdev = device_names; *curdev; curdev++)