Check fread() return values in CFX_FolderFontInfo::GetFontData().
Check fseek() return values too.
BUG=549998
R=thakis@chromium.org
Review URL: https://codereview.chromium.org/1419793003 .
diff --git a/core/src/fxge/ge/fx_ge_fontmap.cpp b/core/src/fxge/ge/fx_ge_fontmap.cpp
index af0a9ef..4f627ac 100644
--- a/core/src/fxge/ge/fx_ge_fontmap.cpp
+++ b/core/src/fxge/ge/fx_ge_fontmap.cpp
@@ -1510,8 +1510,10 @@
}
}
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);