From: Carl-Daniel Hailfinger Date: Wed, 14 Oct 2009 23:51:05 +0000 (+0000) Subject: cbfs_and_run_core() did not check the return code of cbfs_load_stage() X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=74cb9eb7e75bceadb0ebd2eee5b26f27934e5750;p=coreboot.git cbfs_and_run_core() did not check the return code of cbfs_load_stage() and jumped to (void*)-1 on error. Die properly instead. I didn't use die() because that caused a linker error. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Myles Watson git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4776 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- diff --git a/src/arch/i386/lib/cbfs_and_run.c b/src/arch/i386/lib/cbfs_and_run.c index eaded1122..4e5696439 100644 --- a/src/arch/i386/lib/cbfs_and_run.c +++ b/src/arch/i386/lib/cbfs_and_run.c @@ -11,6 +11,11 @@ void cbfs_and_run_core(char *filename, unsigned ebp) u8 *dst; print_debug("Jumping to image.\r\n"); dst = cbfs_load_stage(filename); + if (dst == (void *) -1) { + /* We should use die() here. */ + print_emerg("Loading stage failed!\n"); + for (;;); + } print_debug("Jumping to image.\r\n"); __asm__ volatile (