From 432d5bb2fc51cabf6174e159073c1a5812f06853 Mon Sep 17 00:00:00 2001 From: Rintaro Ishizaki Date: Wed, 3 Jul 2024 09:51:07 -0700 Subject: [PATCH] [Macros] Fix memory leak A `std::function` instance remained in memory. rdar://131048379 --- lib/Sema/TypeCheckMacros.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/Sema/TypeCheckMacros.cpp b/lib/Sema/TypeCheckMacros.cpp index dd592dbabdefc..dc673e12d0051 100644 --- a/lib/Sema/TypeCheckMacros.cpp +++ b/lib/Sema/TypeCheckMacros.cpp @@ -259,7 +259,10 @@ initializePlugin(ASTContext &ctx, CompilerPlugin *plugin, StringRef libraryPath, }); plugin->addOnReconnect(callback); - plugin->setCleanup([plugin] { swift_ASTGen_deinitializePlugin(plugin); }); + plugin->setCleanup([plugin, callback] { + swift_ASTGen_deinitializePlugin(plugin); + delete callback; + }); #endif }