[PATCH 0/1] MR10186: ntdll: Remove unnecessary strdup call
Use the wineloader string directly because execv in preloader_exec only reads it, so there should be no worries about it getting modified. Fix the memory leak that happens because duplicated wineloader string memory isn't freed. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10186
From: Nikola Kuburović <nikola.kuburovic123@gmail.com> Use the wineloader string directly because execv in preloader_exec only reads it, so there should be no worries about it getting modified. Fix the memory leak that happens because duplicated wineloader string memory isn't freed. --- dlls/ntdll/unix/loader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c index 28fc09cd354..1c20bc5db8f 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c @@ -467,7 +467,7 @@ static NTSTATUS loader_exec( char **argv, WORD machine ) if (((argv[1] = get_alternate_wineloader( machine )))) preloader_exec( argv ); - argv[1] = strdup( wineloader ); + argv[1] = wineloader; preloader_exec( argv ); return STATUS_INVALID_IMAGE_FORMAT; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10186
This merge request was closed by Alexandre Julliard. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10186
execv frees the entire address space, and if execv fails the process exits, so there's no leak to fix. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10186#note_130507
participants (3)
-
Alexandre Julliard (@julliard) -
Nikola Kuburović -
Nikola Kuburović (@kubni)