summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2010-10-13 11:13:22 +0000
committerBenny Prijono <bennylp@teluu.com>2010-10-13 11:13:22 +0000
commitc9051bfc2f89b7d3383299c0c890bb998631278b (patch)
treefaf976a31423c83bdded204fafdb2681824b2784 /pjsip
parentc9d40b273390ee46a5c6441fd5fd81c48edce22a (diff)
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
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/src/pjsip-simple/evsub.c7
1 files changed, 7 insertions, 0 deletions
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);