Module: kamailio Branch: master Commit: 3895cd2e08c26594a3cff866caea2b431eb71d1e URL: https://github.com/kamailio/kamailio/commit/3895cd2e08c26594a3cff866caea2b43...
Author: Stefan Mititelu stefan.mititelu92@gmail.com Committer: Stefan Mititelu stefan.mititelu92@gmail.com Date: 2015-11-28T12:51:29+02:00
textops: Fix get_body_part() end of body headers
Remember the end of body headers and use it for get_body_part().
---
Modified: modules/textops/textops.c
---
Diff: https://github.com/kamailio/kamailio/commit/3895cd2e08c26594a3cff866caea2b43... Patch: https://github.com/kamailio/kamailio/commit/3895cd2e08c26594a3cff866caea2b43...
---
diff --git a/modules/textops/textops.c b/modules/textops/textops.c index c653c6c..74d7726 100644 --- a/modules/textops/textops.c +++ b/modules/textops/textops.c @@ -2031,6 +2031,7 @@ static int remove_multibody_f(struct sip_msg* msg, char* p1) static int get_body_part_helper(sip_msg_t* msg, char* ctype, char* ovar, int mode) { char *start, *end, *bstart; + char *body_headers_end; unsigned int len, t; str content_type, body; str boundary = {0,0}; @@ -2084,6 +2085,7 @@ static int get_body_part_helper(sip_msg_t* msg, char* ctype, char* ovar, int mod } end = end + 2; len = len - content_type.len - 2; + body_headers_end = end; if (find_line_start(boundary.s, boundary.len, &end, &len)) { @@ -2099,12 +2101,8 @@ static int get_body_part_helper(sip_msg_t* msg, char* ctype, char* ovar, int mod pkg_free(boundary.s); boundary.s = NULL; if(mode==1) { - end = start; - if (!find_line_start(CRLF, CRLF_LEN, &end, &len)) { - LM_ERR("no CRLF found after body headers\n"); - goto err; - } - val.rs.s = end + CRLF_LEN; + end = body_headers_end; + val.rs.s = end; val.rs.len = bstart - val.rs.s; } else { val.rs.s = start;