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

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2015-08-25T14:28:17+02:00

dialog: dlg var value stored as zero terminated string

- easier to use in std lib operations

---

Modified: modules/dialog/dlg_var.c

---

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

---

diff --git a/modules/dialog/dlg_var.c b/modules/dialog/dlg_var.c
index a3c7b8e..e8c84ed 100644
--- a/modules/dialog/dlg_var.c
+++ b/modules/dialog/dlg_var.c
@@ -99,7 +99,7 @@ static inline struct dlg_var *new_dlg_var(str *key, str *val)
                LM_ERR("no more shm mem\n");
                return NULL;
        }
-       var->next = NULL;
+       memset(var, 0, sizeof(struct dlg_var));
        var->vflags = DLG_FLAG_NEW;
        /* set key */
        var->key.len = key->len;
@@ -113,7 +113,7 @@ static inline struct dlg_var *new_dlg_var(str *key, str 
*val)
        var->key.s[var->key.len] = '\0';
        /* set value */
        var->value.len = val->len;
-       var->value.s = (char*)shm_malloc(var->value.len);
+       var->value.s = (char*)shm_malloc(var->value.len+1);
        if (var->value.s==NULL) {
                shm_free(var->key.s);                   
                shm_free(var);                  
@@ -121,6 +121,7 @@ static inline struct dlg_var *new_dlg_var(str *key, str 
*val)
                return NULL;
        }
        memcpy(var->value.s, val->s, val->len);
+       var->value.s[var->value.len] = '\0';
        return var;
 }
 


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

Reply via email to