* 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>
|
2012-09-10 Benoit Gschwind <gschwind>
|
||||||
|
|
||||||
* grub-core/loader/efi/appleloader.c (devpath_8): New var.
|
* grub-core/loader/efi/appleloader.c (devpath_8): New var.
|
||||||
|
|
|
@ -1130,6 +1130,9 @@ free_array (void)
|
||||||
grub_disk_close (pv->disk);
|
grub_disk_close (pv->disk);
|
||||||
if (pv->id.uuidlen)
|
if (pv->id.uuidlen)
|
||||||
grub_free (pv->id.uuid);
|
grub_free (pv->id.uuid);
|
||||||
|
#ifdef GRUB_UTIL
|
||||||
|
grub_free (pv->partmaps);
|
||||||
|
#endif
|
||||||
grub_free (pv->internal_id);
|
grub_free (pv->internal_id);
|
||||||
grub_free (pv);
|
grub_free (pv);
|
||||||
}
|
}
|
||||||
|
|
|
@ -918,7 +918,10 @@ grub_find_device (const char *dir, dev_t dev)
|
||||||
grub files */
|
grub files */
|
||||||
|
|
||||||
if (strcmp(res, "/dev/root") == 0)
|
if (strcmp(res, "/dev/root") == 0)
|
||||||
|
{
|
||||||
|
free (res);
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (chdir (saved_cwd) < 0)
|
if (chdir (saved_cwd) < 0)
|
||||||
grub_util_error ("%s", _("cannot restore the original directory"));
|
grub_util_error ("%s", _("cannot restore the original directory"));
|
||||||
|
@ -1363,6 +1366,7 @@ get_mdadm_uuid (const char *os_dev)
|
||||||
out:
|
out:
|
||||||
close (fd);
|
close (fd);
|
||||||
waitpid (pid, NULL, 0);
|
waitpid (pid, NULL, 0);
|
||||||
|
free (buf);
|
||||||
|
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
@ -1437,6 +1441,8 @@ grub_util_is_imsm (const char *os_dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
free (buf);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
@ -1577,7 +1583,10 @@ grub_util_pull_device (const char *os_dev)
|
||||||
char **devicelist = grub_util_raid_getmembers (os_dev, 0);
|
char **devicelist = grub_util_raid_getmembers (os_dev, 0);
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; devicelist[i];i++)
|
for (i = 0; devicelist[i];i++)
|
||||||
|
{
|
||||||
grub_util_pull_device (devicelist[i]);
|
grub_util_pull_device (devicelist[i]);
|
||||||
|
free (devicelist[i]);
|
||||||
|
}
|
||||||
free (devicelist);
|
free (devicelist);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -474,6 +474,7 @@ probe (const char *path, char **device_names, char delim)
|
||||||
printf ("%s", label);
|
printf ("%s", label);
|
||||||
putchar (delim);
|
putchar (delim);
|
||||||
}
|
}
|
||||||
|
grub_device_close (dev);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue