From eea2b139abf88e83daf7cbed27f344f7d3bd7548 Mon Sep 17 00:00:00 2001 From: Mike Jerris Date: Thu, 5 Jan 2017 15:06:42 -0600 Subject: [PATCH] FS-9915: [mod_sofia] fix non null terminated parsed sip body being passed in when sending to sip messages in a row on tcp in a single packet --- src/mod/endpoints/mod_sofia/sofia.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 73b2a384b1..f5ea9f7e42 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -1544,6 +1544,12 @@ static void our_sofia_event_callback(nua_event_t event, goto done; } + if (sip && sip->sip_payload && sip->sip_payload->pl_data) { + if (sip->sip_payload->pl_len != strlen(sip->sip_payload->pl_data)) { + sip->sip_payload->pl_data = su_strndup(nh->nh_home, sip->sip_payload->pl_data, sip->sip_payload->pl_len); + } + } + switch (event) { case nua_r_get_params: case nua_i_fork: