Mercurial > pidgin.yaz
diff libpurple/protocols/jabber/jingle/transport.c @ 31556:4b101cad58e7
Don't crash on invalid/unexpected jingle transport types. Fixes #13136.
committer: John Bailey <rekkanoryo@rekkanoryo.org>
author | nikita@beem-project.com |
---|---|
date | Sat, 08 Jan 2011 02:58:06 +0000 |
parents | a8cc50c2279f |
children | c9da7f5fbd0e |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jingle/transport.c Sat Jan 08 02:34:47 2011 +0000 +++ b/libpurple/protocols/jabber/jingle/transport.c Sat Jan 08 02:58:06 2011 +0000 @@ -159,8 +159,12 @@ JingleTransport * jingle_transport_parse(xmlnode *transport) { - const gchar *type = xmlnode_get_namespace(transport); - return JINGLE_TRANSPORT_CLASS(g_type_class_ref(jingle_get_type(type)))->parse(transport); + const gchar *type_name = xmlnode_get_namespace(transport); + GType type = jingle_get_type(type_name); + if (type == G_TYPE_NONE) + return NULL; + + return JINGLE_TRANSPORT_CLASS(g_type_class_ref(type))->parse(transport); } xmlnode *