comparison libpurple/protocols/jabber/jingle/iceudp.c @ 26210:20c16e29f364

Stop crash when there are no candidates set.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Wed, 25 Feb 2009 09:20:20 +0000
parents dfb6fbd89ac2
children 26cf297796a5
comparison
equal deleted inserted replaced
26209:df133a5df391 26210:20c16e29f364
332 { 332 {
333 xmlnode *node = parent_class->to_xml(transport, content, action); 333 xmlnode *node = parent_class->to_xml(transport, content, action);
334 334
335 if (action == JINGLE_SESSION_INITIATE || action == JINGLE_TRANSPORT_INFO || 335 if (action == JINGLE_SESSION_INITIATE || action == JINGLE_TRANSPORT_INFO ||
336 action == JINGLE_CONTENT_ADD || action == JINGLE_TRANSPORT_REPLACE) { 336 action == JINGLE_CONTENT_ADD || action == JINGLE_TRANSPORT_REPLACE) {
337 JingleIceUdpCandidate *candidate = JINGLE_ICEUDP_GET_PRIVATE( 337 JingleIceUdpPrivate *icetransport =
338 transport)->local_candidates->data; 338 JINGLE_ICEUDP_GET_PRIVATE(transport);
339 xmlnode_set_attrib(node, "pwd", candidate->password); 339 if (icetransport && icetransport->local_candidates) {
340 xmlnode_set_attrib(node, "ufrag", candidate->username); 340 JingleIceUdpCandidate *candidate =
341 icetransport->local_candidates->data;
342 xmlnode_set_attrib(node, "pwd", candidate->password);
343 xmlnode_set_attrib(node, "ufrag", candidate->username);
344 }
341 } 345 }
342 346
343 if (action == JINGLE_TRANSPORT_INFO || action == JINGLE_SESSION_ACCEPT) { 347 if (action == JINGLE_TRANSPORT_INFO || action == JINGLE_SESSION_ACCEPT) {
344 JingleIceUdpPrivate *priv = JINGLE_ICEUDP_GET_PRIVATE(transport); 348 JingleIceUdpPrivate *priv = JINGLE_ICEUDP_GET_PRIVATE(transport);
345 GList *iter = priv->local_candidates; 349 GList *iter = priv->local_candidates;