Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
grub2.5759
grub2-ppc64le-23-grub-segfaults-if-initrd-is-sp...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File grub2-ppc64le-23-grub-segfaults-if-initrd-is-specified-before-specify.patch of Package grub2.5759
From c7fbe6c1ae22ac9853b03a3d4d742712f31e69b9 Mon Sep 17 00:00:00 2001 From: Ram Pai <linuxram@us.ibm.com> Date: Tue, 25 Feb 2014 23:31:06 +0000 Subject: [PATCH 23/23] grub segfaults if initrd is specified before specifying grub segfaults if initrd is specified before specifying the kernel. The problem is the initrd module sees that kernel is not specified and takes the fail path. In the fail path it checks if anything has be malloc'ed. Unfortunately the variable that it looks to check for is a uninitialized stack variable. The stack variable can incorrectly indicate something is malloced, which leads the module to free some unallocated memory. This patch fixes the problem by initializing the stack variable. Signed-off-by: Ram Pai <linuxram@us.ibm.com> --- grub-core/loader/powerpc/ieee1275/linux.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/grub-core/loader/powerpc/ieee1275/linux.c b/grub-core/loader/powerpc/ieee1275/linux.c index 9dde053..0d94433 100644 --- a/grub-core/loader/powerpc/ieee1275/linux.c +++ b/grub-core/loader/powerpc/ieee1275/linux.c @@ -335,6 +335,10 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), grub_addr_t addr; struct grub_linux_initrd_context initrd_ctx; + // initialize, otherwise the fail path will try to + // free up data and segfault + initrd_ctx.components = NULL; + if (argc == 0) { grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); -- 1.8.3.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor