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
This commit is contained in:
Aaron An
2017-11-06 12:06:15 +08:00
committed by Richard Mudgett
parent 325b5dd30f
commit a36d8cc533

View File

@@ -1219,6 +1219,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);