From 5987c667846847c4169a3ef82b6d300847c732ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Gonz=C3=A1lez=20Moreno?= Date: Fri, 27 Sep 2024 09:06:12 +0200 Subject: [PATCH] Refs #21759. Fix memory leak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ricardo González Moreno --- .../type_lookup_service/TypeLookupManager.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/cpp/fastdds/builtin/type_lookup_service/TypeLookupManager.cpp b/src/cpp/fastdds/builtin/type_lookup_service/TypeLookupManager.cpp index a0ca795f5f..8c3148c5aa 100644 --- a/src/cpp/fastdds/builtin/type_lookup_service/TypeLookupManager.cpp +++ b/src/cpp/fastdds/builtin/type_lookup_service/TypeLookupManager.cpp @@ -101,6 +101,24 @@ TypeLookupManager::~TypeLookupManager() delete temp_reader_proxy_data_; delete temp_writer_proxy_data_; + + for (auto& writer_entry : async_get_type_writer_callbacks_) + { + // Delete the proxies and remove the entry + for (auto& proxy_callback_pair : writer_entry.second) + { + delete proxy_callback_pair.first; + } + } + + for (auto& reader_entry : async_get_type_reader_callbacks_) + { + // Delete the proxies and remove the entry + for (auto& proxy_callback_pair : reader_entry.second) + { + delete proxy_callback_pair.first; + } + } } bool TypeLookupManager::init(