a5bd9f6
From 4c929bc63d926b9726b8e9a494c520432c051bc0 Mon Sep 17 00:00:00 2001
a5bd9f6
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
a5bd9f6
Date: Sat, 13 Apr 2013 20:12:11 +0200
a5bd9f6
Subject: [PATCH 299/364] 	Fix memory leaks in ofnet. 	Reported by:
a5bd9f6
 Francesco Lavra.
a5bd9f6
a5bd9f6
---
a5bd9f6
 ChangeLog                              | 5 +++++
a5bd9f6
 grub-core/net/drivers/ieee1275/ofnet.c | 8 ++++----
a5bd9f6
 2 files changed, 9 insertions(+), 4 deletions(-)
a5bd9f6
a5bd9f6
diff --git a/ChangeLog b/ChangeLog
a5bd9f6
index a965117..0514e73 100644
a5bd9f6
--- a/ChangeLog
a5bd9f6
+++ b/ChangeLog
a5bd9f6
@@ -1,3 +1,8 @@
a5bd9f6
+2013-04-13  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
+
a5bd9f6
+	Fix memory leaks in ofnet.
a5bd9f6
+	Reported by: Francesco Lavra.
a5bd9f6
+
a5bd9f6
 2013-04-12  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
 
a5bd9f6
 	* docs/man/grub-glue-efi.h2m: Add missing file.
a5bd9f6
diff --git a/grub-core/net/drivers/ieee1275/ofnet.c b/grub-core/net/drivers/ieee1275/ofnet.c
a5bd9f6
index cd9b159..21b6214 100644
a5bd9f6
--- a/grub-core/net/drivers/ieee1275/ofnet.c
a5bd9f6
+++ b/grub-core/net/drivers/ieee1275/ofnet.c
a5bd9f6
@@ -97,10 +97,7 @@ get_card_packet (struct grub_net_card *dev)
a5bd9f6
 
a5bd9f6
   nb = grub_netbuff_alloc (dev->mtu + 64 + 2);
a5bd9f6
   if (!nb)
a5bd9f6
-    {
a5bd9f6
-      grub_netbuff_free (nb);
a5bd9f6
-      return NULL;
a5bd9f6
-    }
a5bd9f6
+    return NULL;
a5bd9f6
   /* Reserve 2 bytes so that 2 + 14/18 bytes of ethernet header is divisible
a5bd9f6
      by 4. So that IP header is aligned on 4 bytes. */
a5bd9f6
   grub_netbuff_reserve (nb, 2);
a5bd9f6
@@ -281,6 +278,9 @@ search_net_devices (struct grub_ieee1275_devalias *alias)
a5bd9f6
     card->txbuf = grub_zalloc (card->txbufsize);
a5bd9f6
   if (!card->txbuf)
a5bd9f6
     {
a5bd9f6
+      grub_free (ofdata->path);
a5bd9f6
+      grub_free (ofdata);
a5bd9f6
+      grub_free (card);
a5bd9f6
       grub_print_error ();
a5bd9f6
       return 0;
a5bd9f6
     }
a5bd9f6
-- 
a5bd9f6
1.8.1.4
a5bd9f6