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;
}
}
}