Mercurial > pidgin.yaz
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; |