From 8794d6d60549683120e22b3b150674e686a29ba0 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Thu, 8 Feb 2018 19:13:08 +0100 Subject: [PATCH] rtpengine: get again body pointer only when read_sdp_pv is set - reported by GH #1434 (cherry picked from commit 75c4ca0bb69bd4f1ba42c6d964697737813fa81e) --- src/modules/rtpengine/rtpengine.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/modules/rtpengine/rtpengine.c b/src/modules/rtpengine/rtpengine.c index 5b829882293..666cfb32bac 100644 --- a/src/modules/rtpengine/rtpengine.c +++ b/src/modules/rtpengine/rtpengine.c @@ -3358,12 +3358,17 @@ rtpengine_offer_answer(struct sip_msg *msg, const char *flags, int op, int more) pkg_free(newbody.s); } else { - /* get the body from the message as body ptr may have changed */ - cur_body.len = 0; - cur_body.s = get_body(msg); - cur_body.len = msg->buf + msg->len - cur_body.s; - - anchor = del_lump(msg, cur_body.s - msg->buf, cur_body.len, 0); + if (read_sdp_pvar_str.len > 0) { + /* get the body from the message as body ptr may have changed + * when using read_sdp_pv */ + cur_body.len = 0; + cur_body.s = get_body(msg); + cur_body.len = msg->buf + msg->len - cur_body.s; + + anchor = del_lump(msg, cur_body.s - msg->buf, cur_body.len, 0); + } else { + anchor = del_lump(msg, body.s - msg->buf, body.len, 0); + } if (!anchor) { LM_ERR("del_lump failed\n"); goto error_free;