| Summary: | Memleak in linux haptic code [patch] | ||
|---|---|---|---|
| Product: | SDL | Reporter: | Martin Gerhardy <martin.gerhardy> |
| Component: | haptic | Assignee: | Ryan C. Gordon <icculus> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | major | ||
| Priority: | P2 | CC: | philipp.wiesemann |
| Version: | 2.0.4 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Attachments: | memleak fix | ||
|
Description
Martin Gerhardy
2016-01-13 07:35:24 UTC
=================================================================
==16438==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 32 byte(s) in 1 object(s) allocated from:
#0 0x7f8cdb58eb49 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98b49)
#1 0xaddf72 in SDL_calloc_REAL /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/stdlib/SDL_malloc.c:41
#2 0xb3e833 in MaybeAddDevice /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/haptic/linux/SDL_syshaptic.c:278
#3 0xb3e483 in SDL_SYS_HapticInit /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/haptic/linux/SDL_syshaptic.c:172
#4 0xb2def7 in SDL_HapticInit /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/haptic/SDL_haptic.c:39
#5 0xb4efdc in SDL_InitSubSystem_REAL /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/SDL.c:228
#6 0xb4f00d in SDL_Init_REAL /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/SDL.c:244
#7 0xa8666a in SDL_Init /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/dynapi/SDL_dynapi_procs.h:89
#8 0x7ce69b in SDLFrontend::init(int, int, bool, EventHandler&) /home/mgerhardy/dev/caveexpress/src/modules/gfx/SDLFrontend.cpp:561
#9 0x798162 in SDLBackend::handleInit() /home/mgerhardy/dev/caveexpress/src/modules/server/SDLBackend.cpp:240
#10 0x798a17 in SDLBackend::runFrame() /home/mgerhardy/dev/caveexpress/src/modules/server/SDLBackend.cpp:297
#11 0x79961f in SDLBackend::mainLoop(int, char**) /home/mgerhardy/dev/caveexpress/src/modules/server/SDLBackend.cpp:357
#12 0x6adc48 in main /home/mgerhardy/dev/caveexpress/src/Main.cpp:31
#13 0x7f8cd98fba3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f)
Indirect leak of 96 byte(s) in 3 object(s) allocated from:
#0 0x7f8cdb58eb49 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98b49)
#1 0xaddf72 in SDL_calloc_REAL /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/stdlib/SDL_malloc.c:41
#2 0xb3e833 in MaybeAddDevice /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/haptic/linux/SDL_syshaptic.c:278
#3 0xb3e483 in SDL_SYS_HapticInit /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/haptic/linux/SDL_syshaptic.c:172
#4 0xb2def7 in SDL_HapticInit /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/haptic/SDL_haptic.c:39
#5 0xb4efdc in SDL_InitSubSystem_REAL /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/SDL.c:228
#6 0xb4f00d in SDL_Init_REAL /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/SDL.c:244
#7 0xa8666a in SDL_Init /home/mgerhardy/dev/caveexpress/src/libs/sdl2/src/dynapi/SDL_dynapi_procs.h:89
#8 0x7ce69b in SDLFrontend::init(int, int, bool, EventHandler&) /home/mgerhardy/dev/caveexpress/src/modules/gfx/SDLFrontend.cpp:561
#9 0x798162 in SDLBackend::handleInit() /home/mgerhardy/dev/caveexpress/src/modules/server/SDLBackend.cpp:240
#10 0x798a17 in SDLBackend::runFrame() /home/mgerhardy/dev/caveexpress/src/modules/server/SDLBackend.cpp:297
#11 0x79961f in SDLBackend::mainLoop(int, char**) /home/mgerhardy/dev/caveexpress/src/modules/server/SDLBackend.cpp:357
#12 0x6adc48 in main /home/mgerhardy/dev/caveexpress/src/Main.cpp:31
#13 0x7f8cd98fba3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f)
SUMMARY: AddressSanitizer: 128 byte(s) leaked in 4 allocation(s).
Created attachment 2363 [details]
memleak fix
There is a comment in SDL_SYS_HapticQuit() telling that something should leak. :) Well, I think this relates to the haptic structures that are attached to the item - but not to the item itself. The item is afaik nowhere else referenced, and why should some mem be leaked on purpose? No idea. I did not understand the source comment then (but you are right :). Sorry. This patch is now https://hg.libsdl.org/SDL/rev/afd286e26823, thanks! |