From 1b562d7185155a7a1a0db9c90b382afaa19e71ed Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Wed, 6 Jan 2016 20:38:07 +0000 Subject: [PATCH] Check fread return value in LoadMbrolaTable(synth_mbrola.c) [clang scan-build] --- src/libespeak-ng/synth_mbrola.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libespeak-ng/synth_mbrola.c b/src/libespeak-ng/synth_mbrola.c index d6a39f83..2a56b1fe 100644 --- a/src/libespeak-ng/synth_mbrola.c +++ b/src/libespeak-ng/synth_mbrola.c @@ -174,7 +174,11 @@ espeak_ng_STATUS LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, pw = (int *)mbrola_tab; for (ix = 4; ix < size; ix += 4) *pw++ = Read4Bytes(f_in); - size = fread(mbrola_tab, 1, size, f_in); + if (fread(mbrola_tab, 1, size, f_in) != size) { + int error = errno; + fclose(f_in); + return error; + } fclose(f_in); setVolumeRatio_MBR((float)(mbrola_control & 0xff) /16.0f);