libpurple/protocols/msn/slp.c

branch
cpw.qulogic.msnp16
changeset 30900
a2da95fb9cff
parent 29457
15f977c9ac76
parent 29376
9a3f73531905
child 30907
418280321ba7
--- a/libpurple/protocols/msn/slp.c	Tue Feb 16 15:58:34 2010 +0000
+++ b/libpurple/protocols/msn/slp.c	Thu Feb 18 16:59:04 2010 +0000
@@ -742,11 +742,10 @@
 	{
 		/* This is an INVITE request */
 		char *branch;
+		char *call_id;
 		char *content;
 		char *content_type;
 
-		slpcall = msn_slpcall_new(slplink);
-
 		/* From: <msnmsgr:buddy@hotmail.com> */
 #if 0
 		slpcall->remote_user = get_token(body, "From: <msnmsgr:", ">\r\n");
@@ -754,7 +753,7 @@
 
 		branch = get_token(body, ";branch={", "}");
 
-		slpcall->id = get_token(body, "Call-ID: {", "}");
+		call_id = get_token(body, "Call-ID: {", "}");
 
 #if 0
 		long content_len = -1;
@@ -768,13 +767,15 @@
 
 		content = get_token(body, "\r\n\r\n", NULL);
 
-		if (branch && content_type && content)
+		if (branch && call_id && content_type && content)
 		{
+			slpcall = msn_slpcall_new(slplink);
+			slpcall->id = call_id;
 			got_invite(slpcall, branch, content_type, content);
 		}
 		else
 		{
-			msn_slpcall_destroy(slpcall);
+			g_free(call_id);
 			slpcall = NULL;
 		}
 

mercurial