cbfstool: Catch failing parse_elf_to_payload()

Otherwise cbfstool will segfault if you try to add an x86
payload to an ARM image.

Change-Id: Ie468005ce9325a4f17c4f206c59f48e39d9338df
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/2028
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Stefan Reinauer 2012-12-11 17:35:30 -08:00 committed by Ronald G. Minnich
parent 935a942e4a
commit cf5aaaf1d2
1 changed files with 7 additions and 1 deletions

View File

@ -106,7 +106,7 @@ static int cbfs_add(void)
static int cbfs_add_payload(void)
{
uint32_t filesize = 0;
int32_t filesize = 0;
void *rom, *filedata, *cbfsfile;
unsigned char *payload;
@ -136,6 +136,12 @@ static int cbfs_add_payload(void)
}
filesize = parse_elf_to_payload(filedata, &payload, rom_algo);
if (filesize <= 0) {
fprintf(stderr, "E: Adding payload '%s' failed.\n",
rom_filename);
free(rom);
return 1;
}
cbfsfile = create_cbfs_file(rom_name, payload, &filesize,
CBFS_COMPONENT_PAYLOAD, &rom_baseaddress);