| Index: fpdfsdk/fpdf_dataavail.cpp
|
| diff --git a/fpdfsdk/fpdf_dataavail.cpp b/fpdfsdk/fpdf_dataavail.cpp
|
| index 5dd42402eda7b1084be2694f0612a0f03105d826..7b9ba32fb0cc2ea5f64e06ad6943b73241473239 100644
|
| --- a/fpdfsdk/fpdf_dataavail.cpp
|
| +++ b/fpdfsdk/fpdf_dataavail.cpp
|
| @@ -139,16 +139,17 @@ FPDFAvail_GetDocument(FPDF_AVAIL avail, FPDF_BYTESTRING password) {
|
| std::unique_ptr<CPDF_Parser> pParser(new CPDF_Parser);
|
| pParser->SetPassword(password);
|
|
|
| - std::unique_ptr<CPDF_Document> pDocument(new CPDF_Document(pParser.get()));
|
| - CPDF_Parser::Error error = pParser->StartLinearizedParse(
|
| - pDataAvail->m_pDataAvail->GetFileRead(), std::move(pDocument));
|
| + std::unique_ptr<CPDF_Document> pDocument(
|
| + new CPDF_Document(std::move(pParser)));
|
| + CPDF_Parser::Error error = pDocument->GetParser()->StartLinearizedParse(
|
| + pDataAvail->m_pDataAvail->GetFileRead(), pDocument.get());
|
| if (error != CPDF_Parser::SUCCESS) {
|
| ProcessParseError(error);
|
| return nullptr;
|
| }
|
| - pDataAvail->m_pDataAvail->SetDocument(pParser->GetDocument());
|
| - CheckUnSupportError(pParser->GetDocument(), FPDF_ERR_SUCCESS);
|
| - return FPDFDocumentFromCPDFDocument(pParser.release()->GetDocument());
|
| + pDataAvail->m_pDataAvail->SetDocument(pDocument.get());
|
| + CheckUnSupportError(pDocument.get(), FPDF_ERR_SUCCESS);
|
| + return FPDFDocumentFromCPDFDocument(pDocument.release());
|
| }
|
|
|
| DLLEXPORT int STDCALL FPDFAvail_GetFirstPageNum(FPDF_DOCUMENT doc) {
|
|
|