Use CPDF_Dictionary::IsValidKey() in CPDFSDK_AppStream::AddImage(). Use the IsValidKey() check to avoid passing invalid keys into CPDF_Dictionary. Bug: chromium:1237898 Change-Id: I0c9d988b762a153a8e6e3f867d729f727d359bfa Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83995 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_appstream.cpp b/fpdfsdk/cpdfsdk_appstream.cpp index cc7d866..b1edb0e 100644 --- a/fpdfsdk/cpdfsdk_appstream.cpp +++ b/fpdfsdk/cpdfsdk_appstream.cpp
@@ -1835,10 +1835,11 @@ CPDF_Dictionary* pStreamDict = pStream->GetDict(); ByteString sImageAlias = "IMG"; - if (CPDF_Dictionary* pImageDict = pImage->GetDict()) { - sImageAlias = pImageDict->GetStringFor("Name"); - if (sImageAlias.IsEmpty()) - sImageAlias = "IMG"; + CPDF_Dictionary* pImageDict = pImage->GetDict(); + if (pImageDict) { + ByteString image_name = pImageDict->GetStringFor("Name"); + if (CPDF_Dictionary::IsValidKey(image_name)) + sImageAlias = std::move(image_name); } CPDF_Dictionary* pStreamResList = pStreamDict->GetDictFor("Resources");