From 90c7a9435c6a43a114aac1be6a699651b8c364e0 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 27 Mar 2024 09:36:05 +0100 Subject: [PATCH] Fix #4070 don't increment aggregate length on invalid members --- src/ifcparse/IfcParse.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index d9a9353dfc..125d2e2fd2 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -782,6 +782,8 @@ size_t IfcParse::IfcFile::load(unsigned entity_instance_name, const IfcParse::en filler.push_back(entity); } catch (IfcException& e) { Logger::Message(Logger::LOG_ERROR, e.what()); + // #4070 We didn't actually capture an aggregate entry, undo length increment. + return_value--; } } else { filler.push_back(new TokenArgument(next));