Fix crash when receiving a session-initiate ack for a nonexistent session. soc.2008.vv

Sat, 07 Jun 2008 20:16:06 +0000

author
Michael Ruprecht <maiku@pidgin.im>
date
Sat, 07 Jun 2008 20:16:06 +0000
branch
soc.2008.vv
changeset 23733
2cd26f5d4550
parent 23732
3fc0e49509bb
child 23734
30e342151959

Fix crash when receiving a session-initiate ack for a nonexistent session.

libpurple/protocols/jabber/jingle.c file | annotate | diff | comparison | revisions
--- 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