diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-06-23 22:17:26 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-06-23 22:17:26 +0000 |
commit | e2506e22bd79b1e74ce03feee3e85f7e4b2e1004 (patch) | |
tree | 3a87af454272b5f44398fc7abbf29d27511898d0 /pjnath/src/pjnath/ice_session.c | |
parent | 7e70649c643c9484a7fa0624fe437ce64c70d875 (diff) |
Fixed crash in ICE when adding peer reflexive candidate
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2047 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjnath/src/pjnath/ice_session.c')
-rw-r--r-- | pjnath/src/pjnath/ice_session.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pjnath/src/pjnath/ice_session.c b/pjnath/src/pjnath/ice_session.c index ccf545c5..1ca17150 100644 --- a/pjnath/src/pjnath/ice_session.c +++ b/pjnath/src/pjnath/ice_session.c @@ -622,6 +622,8 @@ PJ_DEF(pj_status_t) pj_ice_sess_add_cand(pj_ice_sess *ice, lcand->prio = CALC_CAND_PRIO(ice, type, local_pref, lcand->comp_id); pj_memcpy(&lcand->addr, addr, addr_len); pj_memcpy(&lcand->base_addr, base_addr, addr_len); + if (rel_addr == NULL) + rel_addr = base_addr; pj_memcpy(&lcand->rel_addr, rel_addr, addr_len); pj_ansi_strcpy(ice->tmp.txt, pj_inet_ntoa(lcand->addr.ipv4.sin_addr)); @@ -1880,7 +1882,8 @@ static void on_stun_request_complete(pj_stun_session *stun_sess, PJ_ICE_CAND_TYPE_PRFLX, 65535, &foundation, &xaddr->sockaddr, - &check->lcand->base_addr, NULL, + &check->lcand->base_addr, + &check->lcand->base_addr, sizeof(pj_sockaddr_in), &cand_id); if (status != PJ_SUCCESS) { check_set_state(ice, check, PJ_ICE_SESS_CHECK_STATE_FAILED, |