Vitaliy Margolen : dinput: Replace strdup with HeapAlloc.
Alexandre Julliard
julliard at winehq.org
Mon Sep 15 06:55:17 CDT 2008
Module: wine
Branch: master
Commit: 5085d4cd35b314bacb4e9eb491a45de513ca2d50
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5085d4cd35b314bacb4e9eb491a45de513ca2d50
Author: Vitaliy Margolen <wine-patches at kievinfo.com>
Date: Sun Sep 14 11:05:55 2008 -0600
dinput: Replace strdup with HeapAlloc.
---
dlls/dinput/joystick_linuxinput.c | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c
index a7c9c63..6b3a186 100644
--- a/dlls/dinput/joystick_linuxinput.c
+++ b/dlls/dinput/joystick_linuxinput.c
@@ -264,14 +264,18 @@ static void find_joydevs(void)
)
) {
- joydev.device = strdup(buf);
+ if (!(joydev.device = HeapAlloc(GetProcessHeap(), 0, strlen(buf) + 1))) {
+ close(fd);
+ continue;
+ }
+ strcpy(joydev.device, buf);
- if (-1!=ioctl(fd, EVIOCGNAME(MAX_PATH-1), buf)) {
- buf[MAX_PATH-1] = 0;
- joydev.name = strdup(buf);
- } else {
+ buf[MAX_PATH - 1] = 0;
+ if (ioctl(fd, EVIOCGNAME(MAX_PATH - 1), buf) != -1 &&
+ (joydev.name = HeapAlloc(GetProcessHeap(), 0, strlen(buf) + 1)))
+ strcpy(joydev.name, buf);
+ else
joydev.name = joydev.device;
- }
joydev.guid = DInput_Wine_Joystick_Base_GUID;
joydev.guid.Data3 += have_joydevs;
More information about the wine-cvs
mailing list