Module: wine Branch: stable Commit: 39f5c0ff2b1e87329202ba430a2772edc2fa1665 URL: https://source.winehq.org/git/wine.git/?a=commit;h=39f5c0ff2b1e87329202ba430...
Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Sun Jun 16 06:50:02 2019 +0000
dinput: Ensure buffer doesn't overflow (Coverity).
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 55edfc8837a26ced87964014c6e62e1be7dcc5e3) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/dinput/joystick.c | 2 +- dlls/dinput/joystick_linuxinput.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/dinput/joystick.c b/dlls/dinput/joystick.c index 0b2ee1a1fe..935b3aead6 100644 --- a/dlls/dinput/joystick.c +++ b/dlls/dinput/joystick.c @@ -659,7 +659,7 @@ HRESULT WINAPI JoystickAGenericImpl_GetDeviceInfo( /* we only support traditional joysticks for now */ pdidi->dwDevType = This->devcaps.dwDevType; snprintf(pdidi->tszInstanceName, MAX_PATH, "Joystick %d", index); - strcpy(pdidi->tszProductName, This->name); + lstrcpynA(pdidi->tszProductName, This->name, MAX_PATH); if (pdidi->dwSize > sizeof(DIDEVICEINSTANCE_DX3A)) { pdidi->guidFFDriver = GUID_NULL; pdidi->wUsagePage = 0; diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c index b4c38fa377..b86821a4d6 100644 --- a/dlls/dinput/joystick_linuxinput.c +++ b/dlls/dinput/joystick_linuxinput.c @@ -391,8 +391,8 @@ static void fill_joystick_dideviceinstanceA(LPDIDEVICEINSTANCEA lpddi, DWORD ver lpddi->guidInstance = lpddiW.guidInstance; lpddi->guidProduct = lpddiW.guidProduct; lpddi->dwDevType = lpddiW.dwDevType; - strcpy(lpddi->tszInstanceName, joydevs[id].name); - strcpy(lpddi->tszProductName, joydevs[id].name); + lstrcpynA(lpddi->tszInstanceName, joydevs[id].name, MAX_PATH); + lstrcpynA(lpddi->tszProductName, joydevs[id].name, MAX_PATH); lpddi->guidFFDriver = lpddiW.guidFFDriver; lpddi->wUsagePage = lpddiW.wUsagePage; lpddi->wUsage = lpddiW.wUsage;