Browse Source

pv: reset local var for tobody trans

- from SF svn, #5951
Daniel-Constantin Mierla 16 years ago
parent
commit
d4a1d51467
1 changed files with 3 additions and 3 deletions
  1. 3 3
      modules_k/pv/pv_trans.c

+ 3 - 3
modules_k/pv/pv_trans.c

@@ -925,7 +925,7 @@ int tr_eval_tobody(struct sip_msg *msg, tr_param_t *tp, int subtype,
 	{
 		if(_tr_tobody_str.len==0)
 			memset(&_tr_tobody, 0, sizeof(struct to_body));
-		if(val->rs.len>_tr_tobody_str.len)
+		if(_tr_tobody_str.s==NULL || val->rs.len>_tr_tobody_str.len)
 		{
 			if(_tr_tobody_str.s) pkg_free(_tr_tobody_str.s);
 				_tr_tobody_str.s =
@@ -954,7 +954,7 @@ int tr_eval_tobody(struct sip_msg *msg, tr_param_t *tp, int subtype,
 		{
 			memset(&_tr_tobody, 0, sizeof(struct to_body));
 			pkg_free(_tr_tobody_str.s);
-			_tr_tobody_str.len = 0;
+			memset(&_tr_tobody_str, 0, sizeof(str));
 			return -1;
 		}
 		if (parse_uri(_tr_tobody.uri.s, _tr_tobody.uri.len,
@@ -963,7 +963,7 @@ int tr_eval_tobody(struct sip_msg *msg, tr_param_t *tp, int subtype,
 			free_to_params(&_tr_tobody);
 			memset(&_tr_tobody, 0, sizeof(struct to_body));
 			pkg_free(_tr_tobody_str.s);
-			_tr_tobody_str.len = 0;
+			memset(&_tr_tobody_str, 0, sizeof(str));
 			return -1;
 		}