From 0c71f5a4e91b92718f1c3bd94c43d7760ac89fd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ni=C3=B1o=20D=C3=ADaz?= Date: Mon, 21 Aug 2017 23:35:52 +0100 Subject: [PATCH] Check return values of fread in rgblink MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Antonio Niño Díaz --- src/link/output.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/link/output.c b/src/link/output.c index 9151d2a2..8f5d02fc 100644 --- a/src/link/output.c +++ b/src/link/output.c @@ -2,6 +2,7 @@ #include #include +#include "extern/err.h" #include "link/mylink.h" #include "link/mapfile.h" #include "link/main.h" @@ -24,7 +25,10 @@ writehome(FILE * f, FILE * f_overlay) if (f_overlay != NULL) { fseek(f_overlay, 0L, SEEK_SET); - fread(mem, 1, MaxAvail[BANK_ROM0], f_overlay); + if (fread(mem, 1, MaxAvail[BANK_ROM0], f_overlay) != + MaxAvail[BANK_ROM0]) { + warnx("Failed to read data from overlay file."); + } } else { memset(mem, fillchar, MaxAvail[BANK_ROM0]); } @@ -58,7 +62,10 @@ writebank(FILE * f, FILE * f_overlay, SLONG bank) if (f_overlay != NULL && bank <= MaxOverlayBank) { fseek(f_overlay, bank*0x4000, SEEK_SET); - fread(mem, 1, MaxAvail[bank], f_overlay); + if (fread(mem, 1, MaxAvail[bank], f_overlay) != + MaxAvail[bank]) { + warnx("Failed to read data from overlay file."); + } } else { memset(mem, fillchar, MaxAvail[bank]); }