libpurple/protocols/jabber/jingle.c

branch
soc.2008.vv
changeset 26116
41f7d4545566
parent 26113
ad871f934f18
child 26121
8b548a0ea68e
--- a/libpurple/protocols/jabber/jingle.c	Sun Aug 17 07:55:38 2008 +0000
+++ b/libpurple/protocols/jabber/jingle.c	Mon Aug 18 06:25:38 2008 +0000
@@ -253,6 +253,8 @@
 	GList *contents;
 	g_hash_table_remove(sess->js->sessions, sess->id);
 	g_free(sess->id);
+	g_free(sess->remote_jid);
+	g_free(sess->initiator);
 
 	if (sess->media)
 		g_object_unref(sess->media);
@@ -395,9 +397,11 @@
 
 static void
 jabber_jingle_session_set_remote_jid(JingleSession *sess, 
-									 const char *remote_jid)
+				     const char *remote_jid)
 {
-	sess->remote_jid = strdup(remote_jid);
+	if (sess->remote_jid)
+		g_free(sess->remote_jid);
+	sess->remote_jid = g_strdup(remote_jid);
 }
 
 static JingleSessionState
@@ -422,8 +426,10 @@
 
 static void
 jabber_jingle_session_set_initiator(JingleSession *sess,
-									const char *initiator)
+				    const char *initiator)
 {
+	if (sess->initiator)
+		g_free(sess->initiator);
 	sess->initiator = g_strdup(initiator);
 }
 

mercurial