Check input param consistently in FPDFPageObjMark_*. Consistently convert the input FPDF_PAGEOBJECTMARK parameter using CPDFContentMarkItemFromFPDFPageObjectMark(), and then check the CPDF_ContentMarkItem pointer. Change-Id: Id38f7c04d114120b46cdc27de2e069e7d4815fdb Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/70475 Reviewed-by: Daniel Hosseinian <dhoss@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp index eb27a51..9c0a83a 100644 --- a/fpdfsdk/fpdf_editpage.cpp +++ b/fpdfsdk/fpdf_editpage.cpp
@@ -345,11 +345,10 @@ void* buffer, unsigned long buflen, unsigned long* out_buflen) { - if (!mark || !out_buflen) - return false; - const CPDF_ContentMarkItem* pMarkItem = CPDFContentMarkItemFromFPDFPageObjectMark(mark); + if (!pMarkItem || !out_buflen) + return false; *out_buflen = Utf16EncodeMaybeCopyAndReturnLength( WideString::FromUTF8(pMarkItem->GetName().AsStringView()), buffer, @@ -359,11 +358,10 @@ FPDF_EXPORT int FPDF_CALLCONV FPDFPageObjMark_CountParams(FPDF_PAGEOBJECTMARK mark) { - if (!mark) - return -1; - const CPDF_ContentMarkItem* pMarkItem = CPDFContentMarkItemFromFPDFPageObjectMark(mark); + if (!pMarkItem) + return -1; const CPDF_Dictionary* pParams = pMarkItem->GetParam(); return pParams ? pParams->size() : 0;