diff --git a/grub-core/net/drivers/uboot/ubootnet.c b/grub-core/net/drivers/uboot/ubootnet.c index c0454f429..2b743f445 100644 --- a/grub-core/net/drivers/uboot/ubootnet.c +++ b/grub-core/net/drivers/uboot/ubootnet.c @@ -84,10 +84,7 @@ get_card_packet (struct grub_net_card *dev) nb = grub_netbuff_alloc (dev->mtu + 64 + 2); if (!nb) - { - grub_netbuff_free (nb); - return NULL; - } + return NULL; /* Reserve 2 bytes so that 2 + 14/18 bytes of ethernet header is divisible by 4. So that IP header is aligned on 4 bytes. */ grub_netbuff_reserve (nb, 2); @@ -161,6 +158,8 @@ GRUB_MOD_INIT (ubootnet) card->txbuf = grub_zalloc (card->txbufsize); if (!card->txbuf) { + grub_free (ubdata); + grub_free (card); grub_print_error (); continue; }