From 0e94c69087f73c57e01193eae3535f1d8d7ff4e3 Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Sun, 19 Jul 2026 21:21:27 +0100 Subject: [PATCH] Simplify tokens_owner cleanup in read_from_stream per review Drop the justification comment and the manual reset/nullptr pair; letting the unique_ptr go out of scope at function exit already frees the lexer on every return path. Generated with the assistance of an AI coding tool. --- src/ifcparse/IfcParse.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index bc113112e2..67fa958232 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -1584,10 +1584,6 @@ void IfcParse::impl::in_memory_file_storage::read_from_stream(IfcParse::FileRead return; } - // Owned via RAII so that any early return or exception while scanning - // the file (e.g. a malformed header, see fuzzer-z6u) still frees the - // lexer instead of leaking it; `tokens` itself stays a raw pointer since - // it's read by in_memory_file_storage::load() during the scan below. std::unique_ptr tokens_owner(new IfcSpfLexer(s, logger())); tokens = tokens_owner.get(); @@ -1694,9 +1690,6 @@ void IfcParse::impl::in_memory_file_storage::read_from_stream(IfcParse::FileRead logger().Status("\rDone scanning file "); - tokens_owner.reset(); - tokens = nullptr; - if (good_ != file_open_status::SUCCESS) { return; }