diff -r 5f0500efc781 -r 41f7d4545566 libpurple/protocols/jabber/jingle.c --- 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); }