From ed013db0119aaf8bb8ddbdbde6ac1cc2417fc00f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 1 Nov 2019 16:11:46 +0100 Subject: [PATCH] throw exception on invalid nested aggregates --- src/ifcparse/IfcParse.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index cb6cadf604..1b47819d5b 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -776,6 +776,11 @@ ArgumentList::operator IfcEntityListList::ptr() const { if ((arg_list = dynamic_cast(arg)) != 0) { IfcEntityList::ptr e = *arg_list; l->push(e); + } else { + auto token = dynamic_cast(arg); + int startpos = token ? token->token.startPos : 0; + std::string string_rep = this->toString(); + throw IfcInvalidTokenException(startpos, string_rep, "nested aggregate"); } } return l;