Blame SOURCES/0046-grub-core-term-serial.c-grub_serial_register-Fix-inv.patch

4fe85b
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
4fe85b
From: Vladimir Serbinenko <phcoder@gmail.com>
4fe85b
Date: Sun, 26 Jan 2014 02:36:05 +0100
4fe85b
Subject: [PATCH] * grub-core/term/serial.c (grub_serial_register): Fix invalid
4fe85b
 free. Ensure that pointers are inited to NULL and that pointers are not
4fe85b
 accessed after free.
4fe85b
4fe85b
---
4fe85b
 grub-core/term/serial.c | 8 ++++----
4fe85b
 ChangeLog               | 5 +++++
4fe85b
 2 files changed, 9 insertions(+), 4 deletions(-)
4fe85b
4fe85b
diff --git a/grub-core/term/serial.c b/grub-core/term/serial.c
4fe85b
index b581a763ed0..c9b5574ae3c 100644
4fe85b
--- a/grub-core/term/serial.c
4fe85b
+++ b/grub-core/term/serial.c
4fe85b
@@ -338,23 +338,23 @@ grub_serial_register (struct grub_serial_port *port)
4fe85b
       grub_free (indata);
4fe85b
       return grub_errno;
4fe85b
     }
4fe85b
-  
4fe85b
-  out = grub_malloc (sizeof (*out));
4fe85b
+
4fe85b
+  out = grub_zalloc (sizeof (*out));
4fe85b
   if (!out)
4fe85b
     {
4fe85b
-      grub_free (in);
4fe85b
       grub_free (indata);
4fe85b
       grub_free ((char *) in->name);
4fe85b
+      grub_free (in);
4fe85b
       return grub_errno;
4fe85b
     }
4fe85b
 
4fe85b
   outdata = grub_malloc (sizeof (*outdata));
4fe85b
   if (!outdata)
4fe85b
     {
4fe85b
-      grub_free (in);
4fe85b
       grub_free (indata);
4fe85b
       grub_free ((char *) in->name);
4fe85b
       grub_free (out);
4fe85b
+      grub_free (in);
4fe85b
       return grub_errno;
4fe85b
     }
4fe85b
 
4fe85b
diff --git a/ChangeLog b/ChangeLog
4fe85b
index c93f11fbb20..67b4d5c2add 100644
4fe85b
--- a/ChangeLog
4fe85b
+++ b/ChangeLog
4fe85b
@@ -1,3 +1,8 @@
4fe85b
+2014-01-26  Vladimir Serbinenko  <phcoder@gmail.com>
4fe85b
+
4fe85b
+	* grub-core/term/serial.c (grub_serial_register): Fix invalid free.
4fe85b
+	Ensure that pointers are inited to NULL and that pointers are not
4fe85b
+	accessed after free.
4fe85b
 
4fe85b
 2014-01-25  Andrey Borzenkov <arvidjaar@gmail.com>
4fe85b