From f6878dcdb6786efa2ff4e83093407b80b838e303 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20B=C3=A1lint=20Misius?= Date: Fri, 8 Apr 2022 07:14:39 +0200 Subject: [PATCH] Free array we get from CommandLineToArgvW --- src/common/Platform.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/common/Platform.cpp b/src/common/Platform.cpp index 85734909b..588b893d6 100644 --- a/src/common/Platform.cpp +++ b/src/common/Platform.cpp @@ -532,17 +532,15 @@ int main(int argc, char *argv[]); int WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { int argc; - wchar_t **wargv = CommandLineToArgvW(GetCommandLineW(), &argc); std::vector argv; + std::vector argp; + wchar_t **wargv = CommandLineToArgvW(GetCommandLineW(), &argc); for (auto i = 0; i < argc; ++i) { argv.push_back(Platform::WinNarrow(std::wstring(wargv[i]))); + argp.push_back(&argv.back()[0]); } - std::vector argp; - for (auto &arg : argv) - { - argp.push_back(&arg[0]); - } + LocalFree(wargv); return main(argc, &argp[0]); } #endif