From 76270fdca8014af021f478b818976fe7cb061782 Mon Sep 17 00:00:00 2001 From: Dmitry Podgorny Date: Sun, 13 Jan 2013 02:41:49 +0200 Subject: [PATCH] fixed memory leak in parse_room_jid --- src/jid.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/jid.c b/src/jid.c index 04c69636..90d225bc 100644 --- a/src/jid.c +++ b/src/jid.c @@ -121,18 +121,21 @@ jid_create_room_jid(const char * const room, const char * const nick) gboolean parse_room_jid(const char * const full_room_jid, char **room, char **nick) { + gboolean result = FALSE; char **tokens = g_strsplit(full_room_jid, "/", 0); - if (tokens == NULL || tokens[0] == NULL || tokens[1] == NULL) { + if (tokens == NULL) return FALSE; - } else { + + if (tokens[0] != NULL && tokens[1] != NULL) { *room = strdup(tokens[0]); *nick = strdup(tokens[1]); - - g_strfreev(tokens); - - return TRUE; + result = TRUE; } + + g_strfreev(tokens); + + return result; } /*