Skip to content
Snippets Groups Projects
Commit 3c520147 authored by George Joseph's avatar George Joseph Committed by Gerrit
Browse files

res_pjsip_messaging: Check for body in in-dialog message

We now check that a body exists and it has a length > 0 before
attempting to process it.

ASTERISK-28447
Reported-by: Gil Richard

Change-Id: Ic469544b22ab848734636588d4c93426cc6f4b1f
parent 99addaff
No related branches found
No related tags found
No related merge requests found
...@@ -90,10 +90,13 @@ static enum pjsip_status_code check_content_type_in_dialog(const pjsip_rx_data * ...@@ -90,10 +90,13 @@ static enum pjsip_status_code check_content_type_in_dialog(const pjsip_rx_data *
static const pj_str_t text = { "text", 4}; static const pj_str_t text = { "text", 4};
static const pj_str_t application = { "application", 11}; static const pj_str_t application = { "application", 11};
if (!(rdata->msg_info.msg->body && rdata->msg_info.msg->body->len > 0)) {
return res;
}
/* We'll accept any text/ or application/ content type */ /* We'll accept any text/ or application/ content type */
if (rdata->msg_info.msg->body && rdata->msg_info.msg->body->len if (pj_stricmp(&rdata->msg_info.msg->body->content_type.type, &text) == 0
&& (pj_stricmp(&rdata->msg_info.msg->body->content_type.type, &text) == 0 || pj_stricmp(&rdata->msg_info.msg->body->content_type.type, &application) == 0) {
|| pj_stricmp(&rdata->msg_info.msg->body->content_type.type, &application) == 0)) {
res = PJSIP_SC_OK; res = PJSIP_SC_OK;
} else if (rdata->msg_info.ctype } else if (rdata->msg_info.ctype
&& (pj_stricmp(&rdata->msg_info.ctype->media.type, &text) == 0 && (pj_stricmp(&rdata->msg_info.ctype->media.type, &text) == 0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment