diff libpurple/protocols/msn/slplink.c @ 30935:2de522fa534a

Fix a lot more leaks, some old, some new.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 21 Nov 2010 09:56:48 +0000
parents 23be655cc688
children b64b2b05bd3c
line wrap: on
line diff
--- a/libpurple/protocols/msn/slplink.c	Sun Nov 21 08:47:08 2010 +0000
+++ b/libpurple/protocols/msn/slplink.c	Sun Nov 21 09:56:48 2010 +0000
@@ -502,7 +502,6 @@
 	slpcall = msn_slp_process_msg(slplink, slpmsg);
 
 	if (slpcall == NULL) {
-		msn_slpmsg_destroy(slpmsg);
 		return;
 	}
 
@@ -541,8 +540,6 @@
 		}
 	}
 
-	msn_slpmsg_destroy(slpmsg);
-
 	if (!slpcall->wait_for_socket && slpcall->wasted)
 		msn_slpcall_destroy(slpcall);
 }
@@ -625,6 +622,8 @@
 	/* All the pieces of the slpmsg have been received */
 	if (header->offset + header->length >= header->total_size)
 		process_complete_msg(slplink, slpmsg, header);
+
+	msn_slpmsg_destroy(slpmsg);
 }
 
 void