diff libpurple/protocols/msn/slpcall.c @ 23677:331effbd1cc8

Re-arrange msn_slplink_destroy and msn_slp_call_destroy. Might help avoid use-after-free in slp.c got_emoticon and got_user_display.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Fri, 08 Aug 2008 04:47:50 +0000
parents 96e78c0fa32b
children e8f75e750260
line wrap: on
line diff
--- a/libpurple/protocols/msn/slpcall.c	Fri Aug 08 03:34:28 2008 +0000
+++ b/libpurple/protocols/msn/slpcall.c	Fri Aug 08 04:47:50 2008 +0000
@@ -70,10 +70,6 @@
 	if (slpcall->timer)
 		purple_timeout_remove(slpcall->timer);
 
-	g_free(slpcall->id);
-	g_free(slpcall->branch);
-	g_free(slpcall->data_info);
-
 	for (e = slpcall->slplink->slp_msgs; e != NULL; )
 	{
 		MsnSlpMessage *slpmsg = e->data;
@@ -100,6 +96,10 @@
 	if (slpcall->xfer != NULL)
 		purple_xfer_unref(slpcall->xfer);
 
+	g_free(slpcall->id);
+	g_free(slpcall->branch);
+	g_free(slpcall->data_info);
+
 	g_free(slpcall);
 }