From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:46147) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RGDIA-00054w-TM for qemu-devel@nongnu.org; Tue, 18 Oct 2011 13:17:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RGDIA-00078w-7m for qemu-devel@nongnu.org; Tue, 18 Oct 2011 13:17:30 -0400 From: Pavel Borzenkov Date: Tue, 18 Oct 2011 21:16:48 +0400 Message-Id: <1318958208-13965-1-git-send-email-pavel.borzenkov@gmail.com> Subject: [Qemu-devel] [PATCH] fw_cfg: check return value of fread() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-trivial@nongnu.org Spotted by Clang Analyzer Signed-off-by: Pavel Borzenkov --- hw/fw_cfg.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/hw/fw_cfg.c b/hw/fw_cfg.c index 8df265c..1125e7d 100644 --- a/hw/fw_cfg.c +++ b/hw/fw_cfg.c @@ -113,6 +113,13 @@ static FILE *probe_splashfile(char *filename, int *file_sizep, int *file_typep) if (file_type == BMP_FILE) { fseek(fp, 28, SEEK_SET); fop_ret = fread(buf, 1, 2, fp); + if (fop_ret != 2) { + error_report("Could not read bpp value from '%s': %s", + filename, strerror(errno)); + fclose(fp); + fp = NULL; + return fp; + } bmp_bpp = (buf[0] + (buf[1] << 8)) & 0xffff; if (bmp_bpp != 24) { error_report("only 24bpp bmp file is supported."); -- 1.7.7