diff options
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_call.c')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index 35e50a03..45e21326 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -516,7 +516,13 @@ on_error: if (inv == NULL && call_id != -1 && !cb_called && pjsua_var.ua_cfg.cb.on_call_state) { - (*pjsua_var.ua_cfg.cb.on_call_state)(call_id, NULL); + /* Use user event rather than NULL to avoid crash in + * unsuspecting app. + */ + pjsip_event user_event; + PJSIP_EVENT_INIT_USER(user_event, 0, 0, 0, 0); + + (*pjsua_var.ua_cfg.cb.on_call_state)(call_id, &user_event); } if (dlg) { |