mirror of
https://github.com/R2Northstar/NorthstarLauncher
synced 2026-08-23 20:26:04 -04:00
Improve replacing xinput1_3 with xinput9_1 (#583)
The previous logic incorrectly loaded compared the whole argument, which may be a path, to the string literal. This fix checks if the argument ends with the string literal instead.
This commit is contained in:
parent
aeecd7a69b
commit
90e0376ebc
1 changed files with 6 additions and 1 deletions
|
|
@ -10,6 +10,8 @@
|
|||
#include <filesystem>
|
||||
#include <Psapi.h>
|
||||
|
||||
#define XINPUT1_3_DLL "XInput1_3.dll"
|
||||
|
||||
AUTOHOOK_INIT()
|
||||
|
||||
// called from the ON_DLL_LOAD macros
|
||||
|
|
@ -393,8 +395,11 @@ HMODULE, WINAPI, (LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags))
|
|||
{
|
||||
HMODULE moduleAddress;
|
||||
|
||||
LPCSTR lpLibFileNameEnd = lpLibFileName + strlen(lpLibFileName);
|
||||
LPCSTR lpLibName = lpLibFileNameEnd - strlen(XINPUT1_3_DLL);
|
||||
|
||||
// replace xinput dll with one that has ASLR
|
||||
if (!strncmp(lpLibFileName, "XInput1_3.dll", 14))
|
||||
if (lpLibFileName <= lpLibName && !strncmp(lpLibName, XINPUT1_3_DLL, strlen(XINPUT1_3_DLL) + 1))
|
||||
{
|
||||
moduleAddress = _LoadLibraryExA("XInput9_1_0.dll", hFile, dwFlags);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue