From 62e8360dcf1b4ecf90f4c8c35852ed1ffd200e4f Mon Sep 17 00:00:00 2001 From: MacDue Date: Mon, 13 Mar 2023 20:24:33 +0000 Subject: [PATCH] LibCore: Fix memory leak in Core::Process::spawn() Previously the spawn_actions were not destroyed, which leaked a little memory. --- Userland/Libraries/LibCore/Process.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibCore/Process.cpp b/Userland/Libraries/LibCore/Process.cpp index 22d5f67898..bc77908ad1 100644 --- a/Userland/Libraries/LibCore/Process.cpp +++ b/Userland/Libraries/LibCore/Process.cpp @@ -1,12 +1,13 @@ /* * Copyright (c) 2021, Andreas Kling - * Copyright (c) 2022, MacDue + * Copyright (c) 2022-2023, MacDue * Copyright (c) 2023, Sam Atkins * * SPDX-License-Identifier: BSD-2-Clause */ #include +#include #include #include #include @@ -58,6 +59,9 @@ struct ArgvList { #ifdef AK_OS_SERENITY posix_spawn_file_actions_t spawn_actions; posix_spawn_file_actions_init(&spawn_actions); + ScopeGuard cleanup_spawn_actions = [&] { + posix_spawn_file_actions_destroy(&spawn_actions); + }; if (!m_working_directory.is_empty()) posix_spawn_file_actions_addchdir(&spawn_actions, m_working_directory.characters());