]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
util/grub-probe: fix memory leaks.
authorAndrei Borzenkov <arvidjaar@gmail.com>
Tue, 27 Jan 2015 18:29:55 +0000 (21:29 +0300)
committerAndrei Borzenkov <arvidjaar@gmail.com>
Tue, 27 Jan 2015 19:11:52 +0000 (22:11 +0300)
Found by: Coverity scan.

util/grub-probe.c

index ecb7b6bbdf2cafabc1382f464a8e19f7f5cf881e..8a0c4f35b47530f39de0a0c5851414ee8613f9d3 100644 (file)
@@ -295,6 +295,7 @@ probe (const char *path, char **device_names, char delim)
            }
          printf ("%s", disk);
          putchar (delim);
+         free (disk);
        }
       return;
     }
@@ -496,6 +497,7 @@ probe (const char *path, char **device_names, char delim)
        {
          grub_util_fprint_full_disk_name (stdout, dev->disk->name, dev);
          putchar (delim);
+         grub_device_close (dev);
          continue;
        }
 
@@ -542,7 +544,7 @@ probe (const char *path, char **device_names, char delim)
       if (print == PRINT_IEEE1275_HINT)
        {
          const char *osdev = grub_util_biosdisk_get_osdev (dev->disk);
-         const char *ofpath = grub_util_devname_to_ofpath (osdev);
+         char *ofpath = grub_util_devname_to_ofpath (osdev);
          const char *map;
 
          map = grub_util_biosdisk_get_compatibility_hint (dev->disk);
@@ -560,6 +562,7 @@ probe (const char *path, char **device_names, char delim)
              strcpy (p, ofpath);
              grub_util_fprint_full_disk_name (stdout, tmp, dev);
              free (tmp);
+             free (ofpath);
              putchar (delim);
            }