From 0c8b7f165374f96e5284f9b15c2eb1fdfe3e68f7 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 28 May 2018 23:05:07 +0300 Subject: solves problems with XP compatibility --- src/mir_app/src/dll_sniffer.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mir_app/src/dll_sniffer.cpp b/src/mir_app/src/dll_sniffer.cpp index 639d12b91e..875bc6b94e 100644 --- a/src/mir_app/src/dll_sniffer.cpp +++ b/src/mir_app/src/dll_sniffer.cpp @@ -180,9 +180,14 @@ MUUID* GetPluginInterfaces(const wchar_t *ptszFileName, bool &bIsPlugin) // patch version if (dwVersion) { + BYTE *pVersionRes = &pSecStart[dwVersion]; + size_t cbLen = *(WORD*)pVersionRes; + mir_ptr pData((BYTE*)mir_alloc(cbLen)); + memcpy(pData, pVersionRes, cbLen); + UINT blockSize; VS_FIXEDFILEINFO *vsffi; - VerQueryValue(&pSecStart[dwVersion], L"\\", (PVOID*)&vsffi, &blockSize); + VerQueryValue(pData, L"\\", (PVOID*)&vsffi, &blockSize); UINT v[4] = { MIRANDA_VERSION_COREVERSION }; if (MAKELONG(v[1], v[0]) == (int)vsffi->dwProductVersionMS && MAKELONG(v[3], v[2]) == (int)vsffi->dwProductVersionLS) -- cgit v1.2.3