libpayload: don't dereference null pointer in exception handler

Change-Id: I93e5e2488ddd616c91769beb1acd96f8ebd7d505
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Found-by: Coverity Scan
Reviewed-on: http://review.coreboot.org/7971
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <gaumless@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Patrick Georgi 2014-12-29 19:34:56 +01:00 committed by Patrick Georgi
parent 82292441c7
commit bcf07c3f24
1 changed files with 8 additions and 6 deletions

View File

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