src: fix module buffer allocation
PR-URL: https://github.com/nodejs/node/pull/57738 Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
parent
508cd0f275
commit
e4e80c5463
@ -471,7 +471,7 @@ std::vector<std::string> NativeSymbolDebuggingContext::GetLoadedLibraries() {
|
||||
DWORD size_2 = 0;
|
||||
// First call to get the size of module array needed
|
||||
if (EnumProcessModules(process_handle, nullptr, 0, &size_1)) {
|
||||
MallocedBuffer<HMODULE> modules(size_1);
|
||||
MallocedBuffer<HMODULE> modules(size_1 / sizeof(HMODULE));
|
||||
|
||||
// Second call to populate the module array
|
||||
if (EnumProcessModules(process_handle, modules.data, size_1, &size_2)) {
|
||||
@ -480,16 +480,15 @@ std::vector<std::string> NativeSymbolDebuggingContext::GetLoadedLibraries() {
|
||||
i++) {
|
||||
WCHAR module_name[MAX_PATH];
|
||||
// Obtain and report the full pathname for each module
|
||||
if (GetModuleFileNameExW(process_handle,
|
||||
modules.data[i],
|
||||
module_name,
|
||||
arraysize(module_name) / sizeof(WCHAR))) {
|
||||
if (GetModuleFileNameW(
|
||||
modules.data[i], module_name, arraysize(module_name))) {
|
||||
DWORD size = WideCharToMultiByte(
|
||||
CP_UTF8, 0, module_name, -1, nullptr, 0, nullptr, nullptr);
|
||||
char* str = new char[size];
|
||||
WideCharToMultiByte(
|
||||
CP_UTF8, 0, module_name, -1, str, size, nullptr, nullptr);
|
||||
list.emplace_back(str);
|
||||
delete str;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user