From e49ab7e0ccacfed15b7310fccfab067ac2e92e08 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 27 Mar 2024 09:36:05 +0100 Subject: [PATCH] #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 d0ccb44aa6..2a85953faf 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -740,6 +740,8 @@ size_t IfcParse::IfcFile::load(unsigned entity_instance_name, const IfcParse::en filler.push_back(ea); } 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));