From 0094efc7f43a35301013eaa017707145fd6d73f8 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Fri, 18 Apr 2025 20:54:53 +0300 Subject: [PATCH] LibC: Fix `execl*` memory leak on error --- userspace/libraries/LibC/unistd.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/userspace/libraries/LibC/unistd.cpp b/userspace/libraries/LibC/unistd.cpp index 83237371..30db4a2f 100644 --- a/userspace/libraries/LibC/unistd.cpp +++ b/userspace/libraries/LibC/unistd.cpp @@ -243,7 +243,9 @@ static int execl_impl(const char* pathname, const char* arg0, va_list ap, bool h envp = va_arg(ap, char**);; } - return exec_impl(pathname, argv, envp, do_path_resolution); + exec_impl(pathname, argv, envp, do_path_resolution); + free(argv); + return -1; } int execl(const char* pathname, const char* arg0, ...)