summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-06-23 22:17:26 +0000
committerBenny Prijono <bennylp@teluu.com>2008-06-23 22:17:26 +0000
commite2506e22bd79b1e74ce03feee3e85f7e4b2e1004 (patch)
tree3a87af454272b5f44398fc7abbf29d27511898d0
parent7e70649c643c9484a7fa0624fe437ce64c70d875 (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
-rw-r--r--pjnath/src/pjnath/ice_session.c5
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,