[coreboot-gerrit] New patch to review for coreboot: 6fc5d93 libpayload: don't dereference null pointer in exception handler

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Mon Dec 29 19:35:32 CET 2014


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7971

-gerrit

commit 6fc5d9334dbfe18a39d49e4bd8f88fe82f2defd7
Author: Patrick Georgi <patrick at georgi-clan.de>
Date:   Mon Dec 29 19:34:56 2014 +0100

    libpayload: don't dereference null pointer in exception handler
    
    Change-Id: I93e5e2488ddd616c91769beb1acd96f8ebd7d505
    Signed-off-by: Patrick Georgi <patrick at georgi-clan.de>
    Found-by: Coverity Scan
---
 payloads/libpayload/arch/x86/exception.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/payloads/libpayload/arch/x86/exception.c b/payloads/libpayload/arch/x86/exception.c
index 33bef71..e1ff3a5 100644
--- a/payloads/libpayload/arch/x86/exception.c
+++ b/payloads/libpayload/arch/x86/exception.c
@@ -141,14 +141,16 @@ static void dump_stack(uintptr_t addr, size_t bytes)
 static void dump_exception_state(struct exception_handler_state *state,
 				 struct exception_handler_info *info)
 {
-	if (info)
+	if (info) {
 		printf("Exception %d (%s)\n", state->vector, info->name);
-	else
+
+		if (info->error_code_printer) {
+			printf("Error code: ");
+			info->error_code_printer(state->error_code);
+			printf("\n");
+		}
+	} else {
 		printf("Unrecognized exception %d\n", state->vector);
-	if (info->error_code_printer) {
-		printf("Error code: ");
-		info->error_code_printer(state->error_code);
-		printf("\n");
 	}
 	printf("EIP:    0x%08x\n", state->regs.eip);
 	printf("CS:     0x%04x\n", state->regs.cs);



More information about the coreboot-gerrit mailing list