summaryrefslogtreecommitdiff
path: root/core/fpdfapi/page/cpdf_colorspace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/page/cpdf_colorspace.cpp')
-rw-r--r--core/fpdfapi/page/cpdf_colorspace.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/fpdfapi/page/cpdf_colorspace.cpp b/core/fpdfapi/page/cpdf_colorspace.cpp
index e1dd598a63..528c6ea3cf 100644
--- a/core/fpdfapi/page/cpdf_colorspace.cpp
+++ b/core/fpdfapi/page/cpdf_colorspace.cpp
@@ -400,6 +400,11 @@ std::unique_ptr<CPDF_ColorSpace> CPDF_ColorSpace::Load(
if (!pObj)
return nullptr;
+ if (pdfium::ContainsKey(*pVisited, pObj))
+ return nullptr;
+
+ pdfium::ScopedSetInsertion<CPDF_Object*> insertion(pVisited, pObj);
+
if (pObj->IsName()) {
return std::unique_ptr<CPDF_ColorSpace>(
ColorspaceFromName(pObj->GetString()));