* grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
* util/getroot.c (grub_find_device): Likewise. (get_mdadm_uuid): Likewise. (grub_util_is_imsm): Likewise. (grub_util_pull_device): Likewise. * util/grub-probe.c (probe): Likewise.
This commit is contained in:
parent
801a3027be
commit
592fd0e4d6
4 changed files with 24 additions and 2 deletions
|
@ -1,3 +1,12 @@
|
|||
2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
|
||||
* util/getroot.c (grub_find_device): Likewise.
|
||||
(get_mdadm_uuid): Likewise.
|
||||
(grub_util_is_imsm): Likewise.
|
||||
(grub_util_pull_device): Likewise.
|
||||
* util/grub-probe.c (probe): Likewise.
|
||||
|
||||
2012-09-10 Benoit Gschwind <gschwind>
|
||||
|
||||
* grub-core/loader/efi/appleloader.c (devpath_8): New var.
|
||||
|
|
|
@ -1130,6 +1130,9 @@ free_array (void)
|
|||
grub_disk_close (pv->disk);
|
||||
if (pv->id.uuidlen)
|
||||
grub_free (pv->id.uuid);
|
||||
#ifdef GRUB_UTIL
|
||||
grub_free (pv->partmaps);
|
||||
#endif
|
||||
grub_free (pv->internal_id);
|
||||
grub_free (pv);
|
||||
}
|
||||
|
|
|
@ -918,7 +918,10 @@ grub_find_device (const char *dir, dev_t dev)
|
|||
grub files */
|
||||
|
||||
if (strcmp(res, "/dev/root") == 0)
|
||||
continue;
|
||||
{
|
||||
free (res);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (chdir (saved_cwd) < 0)
|
||||
grub_util_error ("%s", _("cannot restore the original directory"));
|
||||
|
@ -1363,6 +1366,7 @@ get_mdadm_uuid (const char *os_dev)
|
|||
out:
|
||||
close (fd);
|
||||
waitpid (pid, NULL, 0);
|
||||
free (buf);
|
||||
|
||||
return name;
|
||||
}
|
||||
|
@ -1437,6 +1441,8 @@ grub_util_is_imsm (const char *os_dev)
|
|||
}
|
||||
}
|
||||
|
||||
free (buf);
|
||||
|
||||
return 0;
|
||||
|
||||
out:
|
||||
|
@ -1577,7 +1583,10 @@ grub_util_pull_device (const char *os_dev)
|
|||
char **devicelist = grub_util_raid_getmembers (os_dev, 0);
|
||||
int i;
|
||||
for (i = 0; devicelist[i];i++)
|
||||
grub_util_pull_device (devicelist[i]);
|
||||
{
|
||||
grub_util_pull_device (devicelist[i]);
|
||||
free (devicelist[i]);
|
||||
}
|
||||
free (devicelist);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -474,6 +474,7 @@ probe (const char *path, char **device_names, char delim)
|
|||
printf ("%s", label);
|
||||
putchar (delim);
|
||||
}
|
||||
grub_device_close (dev);
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue