continue;
nb = grub_netbuff_alloc (sizeof (*pack));
if (!nb)
- return grub_errno;
+ {
+ grub_netbuff_free (nb);
+ return grub_errno;
+ }
err = grub_netbuff_reserve (nb, sizeof (*pack) + 64 + 128);
if (err)
- return err;
+ {
+ grub_netbuff_free (nb);
+ return err;
+ }
err = grub_netbuff_push (nb, sizeof (*pack) + 64);
if (err)
- return err;
+ {
+ grub_netbuff_free (nb);
+ return err;
+ }
pack = (void *) nb->data;
done = 1;
grub_memset (pack, 0, sizeof (*pack) + 64);
target.ipv4 = 0xffffffff;
err = grub_net_send_ip_packet (&ifaces[j], &target, nb);
+ grub_netbuff_free (nb);
if (err)
return err;
}
err = GRUB_ERR_NONE;
for (j = 0; j < ncards; j++)
{
+ grub_free (ifaces[j].name);
if (!ifaces[j].prev)
continue;
grub_error_push ();
ifaces[j].card->name);
}
+ grub_free (ifaces);
return err;
}