diff options
author | George Joseph <george.joseph@fairview5.com> | 2015-04-27 11:11:40 -0600 |
---|---|---|
committer | George Joseph <george.joseph@fairview5.com> | 2015-04-27 12:19:06 -0500 |
commit | 356568dc7f75422c27fc89f57feac8e797531f30 (patch) | |
tree | cf27fe3b6fe135ea8021d0264edd798d58464775 /res/res_pjsip/include | |
parent | d7f4788341f08f386341416aa3944c7f9bc0dc1b (diff) |
res_pjsip: Fix SEGV on pending-qualify contacts
Permanent contacts that hadn't been qualified yet were missing
their contact_status entries causing SEGVs when running CLI
commands.
This patch makes sure that contact_statuses are created for
both dynamic and permanent contacts when they are created.
It also adds checks in the CLI code to make sure there's a
contact_status, just in case.
ASTERISK-25018 #close
Reported-by: Ivan Poddubny
Tested-by: Ivan Poddubny
Tested-by: George Joseph
Change-Id: I3cc13e5cedcafb24c400368b515b02d7fb81e029
Diffstat (limited to 'res/res_pjsip/include')
-rw-r--r-- | res/res_pjsip/include/res_pjsip_private.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/res/res_pjsip/include/res_pjsip_private.h b/res/res_pjsip/include/res_pjsip_private.h index a8b94112b..5120fc6c9 100644 --- a/res/res_pjsip/include/res_pjsip_private.h +++ b/res/res_pjsip/include/res_pjsip_private.h @@ -319,4 +319,9 @@ void internal_sip_register_endpoint_formatter(struct ast_sip_endpoint_formatter */ int internal_sip_unregister_endpoint_formatter(struct ast_sip_endpoint_formatter *obj); +/*! + * \internal + * \brief Finds or creates contact_status for a contact + */ +struct ast_sip_contact_status *ast_res_pjsip_find_or_create_contact_status(const struct ast_sip_contact *contact); #endif /* RES_PJSIP_PRIVATE_H_ */ |