Module: kamailio Branch: master Commit: 75c4ca0bb69bd4f1ba42c6d964697737813fa81e URL: https://github.com/kamailio/kamailio/commit/75c4ca0bb69bd4f1ba42c6d964697737...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2018-02-08T19:14:02+01:00
rtpengine: get again body pointer only when read_sdp_pv is set
- reported by GH #1434
---
Modified: src/modules/rtpengine/rtpengine.c
---
Diff: https://github.com/kamailio/kamailio/commit/75c4ca0bb69bd4f1ba42c6d964697737... Patch: https://github.com/kamailio/kamailio/commit/75c4ca0bb69bd4f1ba42c6d964697737...
---
diff --git a/src/modules/rtpengine/rtpengine.c b/src/modules/rtpengine/rtpengine.c index f9e630f60e..3b41789bbf 100644 --- a/src/modules/rtpengine/rtpengine.c +++ b/src/modules/rtpengine/rtpengine.c @@ -3351,12 +3351,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;