* grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.

This commit is contained in:
Vladimir 'phcoder' Serbinenko committed 2012-06-22 22:02:47 +02:00
1 parent a370616293
commit c7564b8e13
2 files changed
+19 -1

No files matched your search

+15 -1
View File
@@ -1280,10 +1280,24 @@ grub_net_fs_open (struct grub_file *file_out, const char *name)
err = file->device->net->protocol->open (file, name);
if (err)
return err;
{
while (file->device->net->packs.first)
{
grub_netbuff_free (file->device->net->packs.first->nb);
grub_net_remove_packet (file->device->net->packs.first);
}
grub_free (file->device->net->name);
grub_free (file);
return err;
}
bufio = grub_bufio_open (file, 32768);
if (! bufio)
{
while (file->device->net->packs.first)
{
grub_netbuff_free (file->device->net->packs.first->nb);
grub_net_remove_packet (file->device->net->packs.first);
}
file->device->net->protocol->close (file);
grub_free (file->device->net->name);
grub_free (file);