diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll index de740bcd..271a53ac 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb index 1ea40732..f1ec2299 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll index a78a9353..b50a94d5 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb index 4c5c34fb..7efb874b 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe index 3fdd0418..aff86e17 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb index 0c17466a..12518351 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe index ffdc51a9..7425bf7b 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb index f9071681..9c35584e 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll index 004125e9..536189a9 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb index c5999657..7884048b 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll index 1dface46..6f483e49 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb index d09a9db2..70eb6481 100644 Binary files a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb and b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb differ diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp index 0675eccd..5b2b34fe 100644 --- a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +++ b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp @@ -74,7 +74,8 @@ int wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] ) const int MAX_PATH_SIZE_PADDED = MAX_PATH + 1; char dllPath[MAX_PATH_SIZE_PADDED]; memset(&dllPath[0], '\0', MAX_PATH_SIZE_PADDED); - wcstombs(dllPath, argv[2], MAX_PATH); + size_t pathLen = 0; + wcstombs_s(&pathLen, dllPath, argv[2], MAX_PATH); const bool inheritable = false; const HANDLE hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_QUERY_INFORMATION, inheritable, pid); @@ -95,7 +96,7 @@ int wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] ) std::cout << "VirtualAllocEx in pid: " << pid << std::endl; - const bool written = WriteProcessMemory(hProcess, remoteMemoryAddr, dllPath, MAX_PATH_SIZE_PADDED, nullptr); + const bool written = WriteProcessMemory(hProcess, remoteMemoryAddr, dllPath, pathLen, nullptr); if(!written){ std::cout << "Error. Unable to write to memory in pid: " << pid << ". Error code: " << GetLastError() << "." << std::endl; return 5; diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp index 4c05d285..54bbc8aa 100644 --- a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +++ b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp @@ -14,6 +14,10 @@ HINSTANCE globalDllInstance = NULL; class NotificationHelper { public: +#pragma warning( push ) +#pragma warning( disable : 4722 ) +// disable c4722 here: Destructor newver returns warning. Compiler sees ExitThread and assumes that +// there is a potential memory leak. ~NotificationHelper(){ std::string eventName("_pydevd_pid_event_"); eventName += std::to_string(GetCurrentProcessId()); @@ -27,6 +31,7 @@ public: } FreeLibraryAndExitThread(globalDllInstance, 0); } +#pragma warning( pop ) }; DWORD WINAPI RunCodeInThread(LPVOID lpParam){