From 1f5c5a72ef63240e0a944d46c7ed54824ddc9773 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Thu, 23 Jan 2025 23:46:42 -0600 Subject: [PATCH] [ox/model] Fix possible infinite recursion --- deps/ox/src/ox/model/typestore.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deps/ox/src/ox/model/typestore.hpp b/deps/ox/src/ox/model/typestore.hpp index e27f0e37..3646c3b0 100644 --- a/deps/ox/src/ox/model/typestore.hpp +++ b/deps/ox/src/ox/model/typestore.hpp @@ -58,7 +58,11 @@ class TypeStore { if (!std::is_constant_evaluated()) { OX_REQUIRE_M(dt, loadDescriptor(typeId)); for (auto &f : dt->fieldList) { - OX_RETURN_ERROR(this->getLoad(f.typeId).moveTo(f.type)); + if (typeId == f.typeId) { + f.type = dt.get(); + } else { + OX_RETURN_ERROR(this->getLoad(f.typeId).moveTo(f.type)); + } } auto &out = m_cache[typeId]; out = std::move(dt);