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:
parent
935a942e4a
commit
cf5aaaf1d2
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue