From 7b89a28149b5de9228342144d48673e0b0d2728a Mon Sep 17 00:00:00 2001 From: Richard Spiegel Date: Tue, 20 Feb 2018 14:20:15 -0700 Subject: util/amdfwtool/amdfwtool.c: Check fstat return Funtion fstat will return -1 if there's any error, 0 if successful. Check that fstat return is equal to 0, print error message and exit if not 0. This fixes CIDs 1353018 and 1353020 BUG=b:72062481 TEST=Build no errors Change-Id: I83284d9125c75a29471f213f88b9181d5edba2e6 Signed-off-by: Richard Spiegel Reviewed-on: https://review.coreboot.org/23827 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- util/amdfwtool/amdfwtool.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/util/amdfwtool/amdfwtool.c b/util/amdfwtool/amdfwtool.c index 303a31df3f..406ae0560b 100644 --- a/util/amdfwtool/amdfwtool.c +++ b/util/amdfwtool/amdfwtool.c @@ -298,7 +298,11 @@ static uint32_t integrate_firmwares(char *base, uint32_t pos, uint32_t *romsig, free(base); exit(1); } - fstat(fd, &fd_stat); + if (fstat(fd, &fd_stat)) { + printf("fstat error: %s\n", strerror(errno)); + free(base); + exit(1); + } switch (fw_table[i].type) { case AMD_FW_IMC: @@ -369,7 +373,11 @@ static uint32_t integrate_psp_firmwares(char *base, uint32_t pos, free(base); exit(1); } - fstat(fd, &fd_stat); + if (fstat(fd, &fd_stat)) { + printf("fstat error: %s\n", strerror(errno)); + free(base); + exit(1); + } pspdir[4+4*i+1] = (uint32_t)fd_stat.st_size; pspdir[4+4*i+2] = pos + rom_base_address; -- cgit v1.2.3