res_pjsip: Check return from pjsip_parse_uri calls

Updated ast_sip_create_rdata_with_contact and registrar_find_contact
to check the return from pjsip_parse_uri before attempting to
use the uri returned.

ASTERISK-28402
Reported-by: Ross Beer

Change-Id: I9810b3b163c45ed5a56ec743586e5ce107f13ba7
This commit is contained in:
George Joseph
2019-05-02 12:29:49 -06:00
parent f2cb892d7c
commit 5002169d6a
2 changed files with 8 additions and 0 deletions

View File

@@ -3741,6 +3741,10 @@ int ast_sip_create_rdata_with_contact(pjsip_rx_data *rdata, char *packet, const
if (contact_hdr) {
contact_hdr->uri = pjsip_parse_uri(rdata->tp_info.pool, (char *)contact,
strlen(contact), PJSIP_PARSE_URI_AS_NAMEADDR);
if (!contact_hdr->uri) {
ast_log(LOG_WARNING, "Unable to parse contact URI from '%s'.\n", contact);
return -1;
}
}
}