Add CPDF_Dictionary::GetMutableDirectObjectFor().

Change-Id: Ib31aa06d814d93790d7a662983aac6278aa9b738
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/94671
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/fpdf_editimg.cpp b/fpdfsdk/fpdf_editimg.cpp
index 77bc238..8ee8b53 100644
--- a/fpdfsdk/fpdf_editimg.cpp
+++ b/fpdfsdk/fpdf_editimg.cpp
@@ -307,8 +307,9 @@
   if (!pImg)
     return 0;
 
-  CPDF_Dictionary* pDict = pImg->GetDict();
-  CPDF_Object* pFilter = pDict ? pDict->GetDirectObjectFor("Filter") : nullptr;
+  const CPDF_Dictionary* pDict = pImg->GetDict();
+  const CPDF_Object* pFilter =
+      pDict ? pDict->GetDirectObjectFor("Filter") : nullptr;
   if (!pFilter)
     return 0;
 
@@ -330,13 +331,11 @@
     return 0;
 
   CPDF_PageObject* pObj = CPDFPageObjectFromFPDFPageObject(image_object);
-  CPDF_Object* pFilter =
-      pObj->AsImage()->GetImage()->GetDict()->GetDirectObjectFor("Filter");
-  ByteString bsFilter;
-  if (pFilter->IsName())
-    bsFilter = pFilter->AsName()->GetString();
-  else
-    bsFilter = pFilter->AsArray()->GetStringAt(index);
+  const CPDF_Dictionary* pDict = pObj->AsImage()->GetImage()->GetDict();
+  const CPDF_Object* pFilter = pDict->GetDirectObjectFor("Filter");
+  ByteString bsFilter = pFilter->IsName()
+                            ? pFilter->AsName()->GetString()
+                            : pFilter->AsArray()->GetStringAt(index);
 
   return NulTerminateMaybeCopyAndReturnLength(bsFilter, buffer, buflen);
 }