libpurple/protocols/jabber/jingle.c

branch
soc.2008.vv
changeset 23733
2cd26f5d4550
parent 23732
3fc0e49509bb
child 23735
0e3d49bba6f6
--- a/libpurple/protocols/jabber/jingle.c	Sat Jun 07 19:57:32 2008 +0000
+++ b/libpurple/protocols/jabber/jingle.c	Sat Jun 07 20:16:06 2008 +0000
@@ -992,9 +992,18 @@
 {
 	const char *from = xmlnode_get_attrib(packet, "from");
 	JingleSession *session = jabber_jingle_session_find_by_jid(js, from);
-	PurpleMedia *media = session->media;
+	PurpleMedia *media;
 	GList *contents;
 
+	if (!session) {
+		/* respond with an error here */
+		purple_debug_error("jingle", "Received session-initiate ack"
+				   " to nonexistent session\n");
+		return;
+	}
+
+	media = session->media;
+
 	if (!strcmp(xmlnode_get_attrib(packet, "type"), "error")) {
 		purple_media_got_hangup(media);
 		return;

mercurial