Fixed a memory leak (thanks, Zack!). We should probably rework this piece of code a little more after 2.0.4 ships, though. Fixes Bugzilla #3004.
diff --git a/src/core/linux/SDL_ibus.c b/src/core/linux/SDL_ibus.c
index 30aadf5..46d602a 100644
--- a/src/core/linux/SDL_ibus.c
+++ b/src/core/linux/SDL_ibus.c
@@ -461,10 +461,12 @@ SDL_IBus_Init(void)
return SDL_FALSE;
}
+ /* !!! FIXME: if ibus_addr_file != NULL, this will overwrite it and leak (twice!) */
ibus_addr_file = SDL_strdup(addr_file);
addr = IBus_ReadAddressFromFile(addr_file);
if (!addr) {
+ SDL_free(addr_file);
return SDL_FALSE;
}