grub2/0045-grub-core-term-serial.c-grub_serial_register-Fix-inv.patch
Peter Jones 3f2879cb30 Rebase to upstream.
Signed-off-by: Peter Jones <pjones@redhat.com>
2014-05-09 16:33:04 -04:00

61 lines
1.6 KiB
Diff

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