Module: kamailio
Branch: master
Commit: ae22ba7eb41259f9def7e1e0e30b755214e26234
URL: 
https://github.com/kamailio/kamailio/commit/ae22ba7eb41259f9def7e1e0e30b755214e26234

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2018-06-04T11:27:08+02:00

core: msg translator - skip last ; from xavp serialized in via params

---

Modified: src/core/msg_translator.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/ae22ba7eb41259f9def7e1e0e30b755214e26234.diff
Patch: 
https://github.com/kamailio/kamailio/commit/ae22ba7eb41259f9def7e1e0e30b755214e26234.patch

---

diff --git a/src/core/msg_translator.c b/src/core/msg_translator.c
index 2e649ac6c6..88019b869b 100644
--- a/src/core/msg_translator.c
+++ b/src/core/msg_translator.c
@@ -2945,7 +2945,7 @@ char* create_via_hf( unsigned int *len,
                xparams.len = xavp_serialize_fields(&_ksr_xavp_via_params,
                                                        xparams.s, 
pv_get_buffer_size());
                if(xparams.len>0) {
-                       via = (char*)pkg_malloc(extra_params.len+xparams.len+1);
+                       via = (char*)pkg_malloc(extra_params.len+xparams.len+2);
                        if(via==0) {
                                LM_ERR("building xavps params failed\n");
                                if (extra_params.s) pkg_free(extra_params.s);
@@ -2955,7 +2955,10 @@ char* create_via_hf( unsigned int *len,
                                memcpy(via, extra_params.s, extra_params.len);
                                pkg_free(extra_params.s);
                        }
-                       memcpy(via + extra_params.len, xparams.s, xparams.len);
+                       /* add ';' between via parameters */
+                       via[extra_params.len] = ';';
+                       /* skip last ';' from xavp serialized output */
+                       memcpy(via + extra_params.len + 1, xparams.s, 
xparams.len - 1);
                        extra_params.s = via;
                        extra_params.len += xparams.len;
                        extra_params.s[extra_params.len] = '\0';


_______________________________________________
Kamailio (SER) - Development Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to