* 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.
This commit is contained in:
Vladimir Serbinenko 2014-01-26 02:36:05 +01:00
parent 5ae584c0b0
commit 9afe2053c9
2 changed files with 9 additions and 4 deletions

View File

@ -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>

View File

@ -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;
}