summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2012-07-12 06:39:36 +0000
committerBenny Prijono <bennylp@teluu.com>2012-07-12 06:39:36 +0000
commit731e8056a506187e2ba8b809d782e18164cf765e (patch)
tree1e64df51cce5abc03d55f51aa5979a6dcb6e3f77
parent108ad63d51c2210c49c356a424039e5fbe5ef7a9 (diff)
Fixed #1552: Possible crash if media transport stop() is called on ICE transport while ICE is not created (thanks Iliya Prince for the fix)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4203 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/src/pjmedia/transport_ice.c4
-rw-r--r--pjnath/src/pjnath/ice_strans.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/pjmedia/src/pjmedia/transport_ice.c b/pjmedia/src/pjmedia/transport_ice.c
index 2059b5c2..4a55161f 100644
--- a/pjmedia/src/pjmedia/transport_ice.c
+++ b/pjmedia/src/pjmedia/transport_ice.c
@@ -285,7 +285,9 @@ static void set_no_ice(struct transport_ice *tp_ice, const char *reason,
"Stopping ICE, reason=%s", reason));
}
- pj_ice_strans_stop_ice(tp_ice->ice_st);
+ if (tp_ice->ice_st) {
+ pj_ice_strans_stop_ice(tp_ice->ice_st);
+ }
tp_ice->use_ice = PJ_FALSE;
}
diff --git a/pjnath/src/pjnath/ice_strans.c b/pjnath/src/pjnath/ice_strans.c
index f5561a91..a19d9b80 100644
--- a/pjnath/src/pjnath/ice_strans.c
+++ b/pjnath/src/pjnath/ice_strans.c
@@ -1145,6 +1145,8 @@ pj_ice_strans_get_valid_pair(const pj_ice_strans *ice_st,
*/
PJ_DEF(pj_status_t) pj_ice_strans_stop_ice(pj_ice_strans *ice_st)
{
+ PJ_ASSERT_RETURN(ice_st, PJ_EINVAL);
+
if (ice_st->ice) {
pj_ice_sess_destroy(ice_st->ice);
ice_st->ice = NULL;