diff --git a/src/haptic/darwin/SDL_syshaptic.c b/src/haptic/darwin/SDL_syshaptic.c index 4a62e3505..cb020540a 100644 --- a/src/haptic/darwin/SDL_syshaptic.c +++ b/src/haptic/darwin/SDL_syshaptic.c @@ -237,7 +237,7 @@ MacHaptic_MaybeAddDevice( io_object_t device ) } } - item = (SDL_hapticlist_item *)SDL_malloc( sizeof(SDL_hapticlist_item)); + item = (SDL_hapticlist_item *)SDL_calloc(1, sizeof(SDL_hapticlist_item)); if (item == NULL) { return SDL_SetError("Could not allocate haptic storage"); } @@ -248,7 +248,6 @@ MacHaptic_MaybeAddDevice( io_object_t device ) /* Set basic device data. */ HIDGetDeviceProduct(device, item->name); item->dev = device; - item->haptic = NULL; /* Set usage pages. */ hidProperties = 0; diff --git a/src/haptic/linux/SDL_syshaptic.c b/src/haptic/linux/SDL_syshaptic.c index 995001c92..281a9316b 100644 --- a/src/haptic/linux/SDL_syshaptic.c +++ b/src/haptic/linux/SDL_syshaptic.c @@ -282,11 +282,11 @@ MaybeAddDevice(const char *path) return -1; } - item = (SDL_hapticlist_item *) SDL_malloc(sizeof (SDL_hapticlist_item)); + item = (SDL_hapticlist_item *) SDL_calloc(1, sizeof (SDL_hapticlist_item)); if (item == NULL) { return -1; } - SDL_zerop(item); + item->fname = SDL_strdup(path); if ( (item->fname == NULL) ) { SDL_free(item->fname); diff --git a/src/haptic/windows/SDL_syshaptic.c b/src/haptic/windows/SDL_syshaptic.c index 59f745668..8454d9396 100644 --- a/src/haptic/windows/SDL_syshaptic.c +++ b/src/haptic/windows/SDL_syshaptic.c @@ -253,13 +253,11 @@ DirectInputHaptic_MaybeAddDevice(const DIDEVICEINSTANCE * pdidInstance) return -1; /* not a device we can use. */ } - item = (SDL_hapticlist_item *)SDL_malloc( sizeof(SDL_hapticlist_item)); + item = (SDL_hapticlist_item *)SDL_calloc(1, sizeof(SDL_hapticlist_item)); if (item == NULL) { return SDL_OutOfMemory(); } - SDL_zerop(item); - item->name = WIN_StringToUTF8(pdidInstance->tszProductName); if (!item->name) { SDL_free(item);