| Index: fpdfsdk/src/fpdfview.cpp
|
| diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
|
| index 43feaf4d5a9154999eb40c893fbe60ef5b59337a..853d7f76074fe84c5d0f481e506cfdcbd5cfd2ea 100644
|
| --- a/fpdfsdk/src/fpdfview.cpp
|
| +++ b/fpdfsdk/src/fpdfview.cpp
|
| @@ -848,8 +848,10 @@ DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDest(FPDF_DOCUMENT document, int index,
|
| pDestObj = nameTree.LookupValue(index, bsName);
|
| }
|
| if (!pDestObj) return NULL;
|
| - if (pDestObj->GetType() == PDFOBJ_DICTIONARY)
|
| + if (pDestObj->GetType() == PDFOBJ_DICTIONARY) {
|
| pDestObj = ((CPDF_Dictionary*)pDestObj)->GetArray(FX_BSTRC("D"));
|
| + if (!pDestObj) return NULL;
|
| + }
|
| if (pDestObj->GetType() != PDFOBJ_ARRAY) return NULL;
|
| CFX_WideString wsName = PDF_DecodeText(bsName);
|
| CFX_ByteString utf16Name = wsName.UTF16LE_Encode();
|
| @@ -860,8 +862,9 @@ DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDest(FPDF_DOCUMENT document, int index,
|
| memcpy(buffer, utf16Name.c_str(), len);
|
| ((FX_BYTE*)buffer)[len] = 0;
|
| ((FX_BYTE*)buffer)[len + 1] = 0;
|
| + buflen = len + 2;
|
| } else {
|
| - len = -1;
|
| + buflen = -1;
|
| }
|
| return (FPDF_DEST)pDestObj;
|
| }
|
|
|