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