From bda74a5a272066f819f29d7e24dd914e0eeea455 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Mon, 2 Nov 2015 14:09:31 -0800 Subject: Merge to XFA: Check fread() return values in CFX_FolderFontInfo::GetFontData(). Check fseek() return values too. BUG=549998 TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/1419793003 . (cherry picked from commit 99818557c8ed64d00fcc23a1e87e1ebf41ed5e85) Review URL: https://codereview.chromium.org/1426263002 . --- core/src/fxge/ge/fx_ge_fontmap.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'core/src/fxge/ge') diff --git a/core/src/fxge/ge/fx_ge_fontmap.cpp b/core/src/fxge/ge/fx_ge_fontmap.cpp index 1360fc795d..96e11300d0 100644 --- a/core/src/fxge/ge/fx_ge_fontmap.cpp +++ b/core/src/fxge/ge/fx_ge_fontmap.cpp @@ -1601,8 +1601,10 @@ FX_DWORD CFX_FolderFontInfo::GetFontData(void* hFont, } } if (datasize && size >= datasize && pFile) { - FXSYS_fseek(pFile, offset, FXSYS_SEEK_SET); - FXSYS_fread(buffer, datasize, 1, pFile); + if (FXSYS_fseek(pFile, offset, FXSYS_SEEK_SET) < 0 || + FXSYS_fread(buffer, datasize, 1, pFile) != 1) { + datasize = 0; + } } if (pFile) { FXSYS_fclose(pFile); -- cgit v1.2.3