[sr-dev] git:master:767fb51a: kazoo : fix transform

Luis Azedo luis at 2600hz.com
Mon Jan 5 14:25:01 CET 2015


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

Author: Luis Azedo <luis at 2600hz.com>
Committer: Luis Azedo <luis at 2600hz.com>
Date: 2015-01-05T13:24:39Z

kazoo :  fix transform

---

Modified: modules/kazoo/kz_json.c
Modified: modules/kazoo/kz_trans.c

---

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

---

diff --git a/modules/kazoo/kz_json.c b/modules/kazoo/kz_json.c
index 2d6c731..9c538b7 100644
--- a/modules/kazoo/kz_json.c
+++ b/modules/kazoo/kz_json.c
@@ -30,6 +30,7 @@
 
 #include "kz_json.h"
 
+static str kz_pv_str_empty  {"", 0};
 
 char** str_split(char* a_str, const char a_delim)
 {
@@ -150,8 +151,11 @@ int kz_json_get_field_ex(str* json, str* field, pv_value_p dst_val)
 		dst_val->rs.s[len] = '\0';
 		dst_val->rs.len = len;
 		dst_val->flags = PV_VAL_STR | PV_VAL_PKG;
+        dst_val->ri = 0;
 	} else {
 		dst_val->flags = PV_VAL_NULL;
+        dst_val->rs kz_pv_str_empty;
+        dst_val->ri = 0;
 	}
 
 	json_object_put(j);
diff --git a/modules/kazoo/kz_trans.c b/modules/kazoo/kz_trans.c
index a753b93..32e38e6 100644
--- a/modules/kazoo/kz_trans.c
+++ b/modules/kazoo/kz_trans.c
@@ -133,8 +133,9 @@ int kz_tr_eval(struct sip_msg *msg, tr_param_t *tp, int subtype, pv_value_t *val
 				return -1;
 			}
 
+            /*
 			// it seems that val memory is not freed
-			// event with flag set to PV_VAL_PKG
+			// even with flag set to PV_VAL_PKG
 
 			strncpy(_kz_tr_buffer, val->rs.s, val->rs.len);
 			if(val->flags & PV_VAL_PKG)
@@ -145,6 +146,7 @@ int kz_tr_eval(struct sip_msg *msg, tr_param_t *tp, int subtype, pv_value_t *val
 			val->flags = PV_VAL_STR;
 			val->ri = 0;
 			val->rs.s = _kz_tr_buffer;
+            */
 
 			if(oldflags & PV_VAL_PKG) {
 				pkg_free(tofree);
@@ -168,8 +170,10 @@ int kz_tr_eval(struct sip_msg *msg, tr_param_t *tp, int subtype, pv_value_t *val
 				LM_ERR("error getting json\n");
 				return -1;
 			}
+            
+            /*
 			// it seems that val memory is not freed
-			// event with flag set to PV_VAL_PKG
+			// even with flag set to PV_VAL_PKG
 
 			strncpy(_kz_tr_buffer, val->rs.s, val->rs.len);
 			if(val->flags & PV_VAL_PKG)
@@ -180,6 +184,7 @@ int kz_tr_eval(struct sip_msg *msg, tr_param_t *tp, int subtype, pv_value_t *val
 			val->flags = PV_VAL_STR;
 			val->ri = 0;
 			val->rs.s = _kz_tr_buffer;
+            */
 
 			if(oldflags & PV_VAL_PKG) {
 				pkg_free(tofree);




More information about the sr-dev mailing list