Module: sip-router
Branch: master
Commit: 542336ab49a7b8cbca953a69c138a5ec38a96d7a
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=542336ab49a7b8cbca953a69c138a5ec38a96d7a

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date:   Tue Aug 19 18:00:49 2014 +0200

dlg: keep dialog value 0-terminated in memory

- more flexibility in searching/matching

---

 modules/dialog/dlg_profile.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/modules/dialog/dlg_profile.c b/modules/dialog/dlg_profile.c
index 3ce4783..0fd32c2 100644
--- a/modules/dialog/dlg_profile.c
+++ b/modules/dialog/dlg_profile.c
@@ -509,7 +509,7 @@ int dlg_add_profile(dlg_cell_t *dlg, str *value, struct 
dlg_profile_table *profi
 
        /* build new linker */
        linker = (struct dlg_profile_link*)shm_malloc(
-               sizeof(struct dlg_profile_link) + 
(profile->has_value?value->len:0) );
+               sizeof(struct dlg_profile_link) + 
(profile->has_value?(value->len+1):0) );
        if (linker==NULL) {
                LM_ERR("no more shm memory\n");
                goto error;
@@ -524,6 +524,7 @@ int dlg_add_profile(dlg_cell_t *dlg, str *value, struct 
dlg_profile_table *profi
                linker->hash_linker.value.s = (char*)(linker+1);
                memcpy( linker->hash_linker.value.s, value->s, value->len);
                linker->hash_linker.value.len = value->len;
+               linker->hash_linker.value.s[value->len] = '\0';
        }
 
        /* add linker directly to the dialog and profile */


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to