pdfviewer: readobject can return null, and catalog can be null
Review URL: https://codereview.chromium.org/72053002 git-svn-id: http://skia.googlecode.com/svn/trunk@12276 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
04306921f4
commit
608c35e5c4
@ -140,7 +140,7 @@ void SkPdfNativeDoc::init(const void* bytes, size_t length) {
|
||||
|
||||
if (fRootCatalogRef) {
|
||||
fRootCatalog = (SkPdfCatalogDictionary*)resolveReference(fRootCatalogRef);
|
||||
if (fRootCatalog->isDictionary() && fRootCatalog->valid()) {
|
||||
if (fRootCatalog != NULL && fRootCatalog->isDictionary() && fRootCatalog->valid()) {
|
||||
SkPdfPageTreeNodeDictionary* tree = fRootCatalog->Pages(this);
|
||||
if (tree && tree->isDictionary() && tree->valid()) {
|
||||
fillPages(tree);
|
||||
@ -222,7 +222,7 @@ void SkPdfNativeDoc::loadWithoutXRef() {
|
||||
|
||||
if (fRootCatalogRef) {
|
||||
fRootCatalog = (SkPdfCatalogDictionary*)resolveReference(fRootCatalogRef);
|
||||
if (fRootCatalog->isDictionary() && fRootCatalog->valid()) {
|
||||
if (fRootCatalog != NULL && fRootCatalog->isDictionary() && fRootCatalog->valid()) {
|
||||
SkPdfPageTreeNodeDictionary* tree = fRootCatalog->Pages(this);
|
||||
if (tree && tree->isDictionary() && tree->valid()) {
|
||||
fillPages(tree);
|
||||
@ -583,7 +583,7 @@ SkPdfNativeObject* SkPdfNativeDoc::resolveReference(SkPdfNativeObject* ref) {
|
||||
fObjects[id].fObj = readObject(id);
|
||||
}
|
||||
|
||||
if (fObjects[id].fResolvedReference == NULL) {
|
||||
if (fObjects[id].fObj != NULL && fObjects[id].fResolvedReference == NULL) {
|
||||
if (!fObjects[id].fObj->isReference()) {
|
||||
fObjects[id].fResolvedReference = fObjects[id].fObj;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user