From c9051bfc2f89b7d3383299c0c890bb998631278b Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Wed, 13 Oct 2010 11:13:22 +0000 Subject: Misc (Re #1134): do not allow subscription state callback to be called with NULL event parameter as application may not expect this git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3341 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip-simple/evsub.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'pjsip/src/pjsip-simple') diff --git a/pjsip/src/pjsip-simple/evsub.c b/pjsip/src/pjsip-simple/evsub.c index c83786d0..c55d3b47 100644 --- a/pjsip/src/pjsip-simple/evsub.c +++ b/pjsip/src/pjsip-simple/evsub.c @@ -557,6 +557,7 @@ static void set_state( pjsip_evsub *sub, pjsip_evsub_state state, { pjsip_evsub_state prev_state = sub->state; pj_str_t old_state_str = sub->state_str; + pjsip_event dummy_event; sub->state = state; @@ -575,6 +576,12 @@ static void set_state( pjsip_evsub *sub, pjsip_evsub_state state, (int)sub->state_str.slen, sub->state_str.ptr)); + /* don't call the callback with NULL event, it may crash the app! */ + if (!event) { + PJSIP_EVENT_INIT_USER(dummy_event, 0, 0, 0, 0); + event = &dummy_event; + } + if (sub->user.on_evsub_state && sub->call_cb) (*sub->user.on_evsub_state)(sub, event); -- cgit v1.2.3