Alistair Leslie-Hughes : dinput: Ensure buffer doesn't overflow (Coverity).

Alexandre Julliard julliard at winehq.org
Mon Nov 25 09:12:28 CST 2019


Module: wine
Branch: stable
Commit: 39f5c0ff2b1e87329202ba430a2772edc2fa1665
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=39f5c0ff2b1e87329202ba430a2772edc2fa1665

Author: Alistair Leslie-Hughes <leslie_alistair at 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 at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 55edfc8837a26ced87964014c6e62e1be7dcc5e3)
Signed-off-by: Michael Stefaniuc <mstefani at 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;




More information about the wine-cvs mailing list