Report multiple unsupported errors in ReportUnsupportedFeatures(). Currently, ReportUnsupportedFeatures() will sometimes report the first unsupported feature and return. Instead, report all unsupported features. Change-Id: Ibd4d40800988ed4893ab15da8f94d7bdaca503f9 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/67031 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_helpers.cpp b/fpdfsdk/cpdfsdk_helpers.cpp index ea359bc..db11927 100644 --- a/fpdfsdk/cpdfsdk_helpers.cpp +++ b/fpdfsdk/cpdfsdk_helpers.cpp
@@ -336,16 +336,14 @@ return; // Portfolios and Packages - if (pRootDict->KeyExist("Collection")) { + if (pRootDict->KeyExist("Collection")) RaiseUnsupportedError(FPDF_UNSP_DOC_PORTABLECOLLECTION); - return; - } + const CPDF_Dictionary* pNameDict = pRootDict->GetDictFor("Names"); if (pNameDict) { - if (pNameDict->KeyExist("EmbeddedFiles")) { + if (pNameDict->KeyExist("EmbeddedFiles")) RaiseUnsupportedError(FPDF_UNSP_DOC_ATTACHMENT); - return; - } + const CPDF_Dictionary* pJSDict = pNameDict->GetDictFor("JavaScript"); if (pJSDict) { const CPDF_Array* pArray = pJSDict->GetArrayFor("Names"); @@ -354,7 +352,7 @@ ByteString cbStr = pArray->GetStringAt(i); if (cbStr.Compare("com.adobe.acrobat.SharedReview.Register") == 0) { RaiseUnsupportedError(FPDF_UNSP_DOC_SHAREDREVIEW); - return; + break; } } }