aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/PdfViewer/pdfparser/native
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/PdfViewer/pdfparser/native')
-rw-r--r--experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp b/experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp
index dd8ec442b5..fe5d0ee830 100644
--- a/experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp
+++ b/experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp
@@ -75,11 +75,16 @@ SkNativeParsedPDF::SkNativeParsedPDF(const char* path)
FILE* file = fopen(path, "r");
fContentLength = getFileSize(path);
fFileContent = new unsigned char[fContentLength + 1];
- fread(fFileContent, fContentLength, 1, file);
+ bool ok = (0 != fread(fFileContent, fContentLength, 1, file));
fFileContent[fContentLength] = '\0';
fclose(file);
file = NULL;
+ if (!ok) {
+ // TODO(edisonn): report read error
+ return; // Doc will have 0 pages
+ }
+
unsigned char* eofLine = lineHome(fFileContent, fFileContent + fContentLength - 1);
unsigned char* xrefByteOffsetLine = previousLineHome(fFileContent, eofLine);
unsigned char* xrefstartKeywordLine = previousLineHome(fFileContent, xrefByteOffsetLine);