From ff7c9084608e4e770b44338eb10ff0facf0e4a45 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Wed, 21 May 2025 11:13:19 -0700 Subject: [PATCH] Fix possible memory leak in broker::Manager --- src/broker/Manager.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/broker/Manager.cc b/src/broker/Manager.cc index dff6055e32..7b9d2af591 100644 --- a/src/broker/Manager.cc +++ b/src/broker/Manager.cc @@ -2094,13 +2094,15 @@ detail::StoreHandleVal* Manager::MakeClone(const string& name, double resync_int } auto handle = new detail::StoreHandleVal{*result}; - Ref(handle); if ( ! handle->proxy.valid() ) { reporter->Error("Failed to create clone for data store %s", name.c_str()); + delete handle; return nullptr; } + Ref(handle); + data_stores.emplace(name, handle); if ( ! iosource_mgr->RegisterFd(handle->proxy.mailbox().descriptor(), this) ) reporter->FatalError("Failed to register broker clone mailbox descriptor with iosource_mgr");