From e640a8b98a96a43742993d249cec6bf1c8f2864c Mon Sep 17 00:00:00 2001 From: Paddy Xu Date: Mon, 18 Oct 2021 21:22:24 +0200 Subject: [PATCH] Fix #1007: strcpy requires the number of chars not bytes --- QuickLook.Native/QuickLook.Native32/DOpus.cpp | 2 +- .../QuickLook.WoW64HookHelper/QuickLook.WoW64HookHelper.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/QuickLook.Native/QuickLook.Native32/DOpus.cpp b/QuickLook.Native/QuickLook.Native32/DOpus.cpp index 982fe037..09689c65 100644 --- a/QuickLook.Native/QuickLook.Native32/DOpus.cpp +++ b/QuickLook.Native/QuickLook.Native32/DOpus.cpp @@ -103,7 +103,7 @@ void DOpus::ParseXmlBuffer(PWCHAR buffer) auto b = new WCHAR[size]; MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, path, -1, b, size); - wcscpy_s(buffer, MAX_PATH_EX, b); // DOpus supports Long Path + wcscpy_s(buffer, wcslen(b) + 1, b); // DOpus supports Long Path delete[] b; return; // we now cares only the first result diff --git a/QuickLook.Native/QuickLook.WoW64HookHelper/QuickLook.WoW64HookHelper.cpp b/QuickLook.Native/QuickLook.WoW64HookHelper/QuickLook.WoW64HookHelper.cpp index 367f709d..44840973 100644 --- a/QuickLook.Native/QuickLook.WoW64HookHelper/QuickLook.WoW64HookHelper.cpp +++ b/QuickLook.Native/QuickLook.WoW64HookHelper/QuickLook.WoW64HookHelper.cpp @@ -90,14 +90,14 @@ void GetCurrentSelection() if (hMapFile == nullptr) return; - auto buffer = static_cast(MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, MAX_PATH * sizeof WCHAR)); + auto buffer = static_cast(MapViewOfFile(hMapFile, FILE_MAP_WRITE, 0, 0, 0)); if (buffer == nullptr) { CloseHandle(hMapFile); return; } - wcscpy_s(buffer, MAX_PATH_EX, dllBuffer); + wcscpy_s(buffer, wcslen(dllBuffer) + 1, dllBuffer); UnmapViewOfFile(buffer); CloseHandle(hMapFile);