From: Aaron An Date: Mon, 6 Nov 2017 04:06:15 +0000 (+0800) Subject: res_pjsip: Avoid crash when contact uri is empty string X-Git-Tag: 13.19.0-rc1~156^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d95bfcd0136af2b8fd8ee20bf1547deacab70254;p=thirdparty%2Fasterisk.git res_pjsip: Avoid crash when contact uri is empty string Asterisk will crash if contact uri is invalid, so contact_apply_handler should check if the uri is NULL or empty. ASTERISK-27393 #close Reported-by: Aaron An Tested-by: AaronAn Change-Id: Ia0309bdc6b697c73c9c736e1caec910b77ca69f5 --- diff --git a/res/res_pjsip/location.c b/res/res_pjsip/location.c index 66fc85c952..8ba409e2e0 100644 --- a/res/res_pjsip/location.c +++ b/res/res_pjsip/location.c @@ -1226,6 +1226,11 @@ static int contact_apply_handler(const struct ast_sorcery *sorcery, void *object struct ast_sip_contact_status *status; struct ast_sip_contact *contact = object; + if (ast_strlen_zero(contact->uri)) { + ast_log(LOG_ERROR, "A URI on dynamic contact '%s' is empty\n", + ast_sorcery_object_get_id(contact)); + return -1; + } status = ast_res_pjsip_find_or_create_contact_status(contact); ao2_cleanup(status);