[sr-dev] git:4.2:da34ecf1: pv: catch early setting $rU with empty string

Daniel-Constantin Mierla miconda at gmail.com
Wed Jul 29 12:38:43 CEST 2015


Module: kamailio
Branch: 4.2
Commit: da34ecf150ca91e98d32de144a3a77285e1e262c
URL: https://github.com/kamailio/kamailio/commit/da34ecf150ca91e98d32de144a3a77285e1e262c

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2015-07-29T12:35:27+02:00

pv: catch early setting $rU with empty string

- avoids backing up and restoring last char, which can create
  inappropriate access when using static empty string value

(cherry picked from commit adf1bca4a820e9cb5fcc94a1953b0fcdbd8a20da)
(cherry picked from commit 3551d707fa497554f3da767e9fba8e046f83b417)

---

Modified: modules/pv/pv_core.c

---

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

---

diff --git a/modules/pv/pv_core.c b/modules/pv/pv_core.c
index 56253b8..fc96cb5 100644
--- a/modules/pv/pv_core.c
+++ b/modules/pv/pv_core.c
@@ -2095,7 +2095,8 @@ int pv_set_ruri_user(struct sip_msg* msg, pv_param_t *param,
 		return -1;
 	}
 					
-	if((val==NULL) || (val->flags&PV_VAL_NULL))
+	if((val==NULL) || (val->flags&PV_VAL_NULL)
+			|| ((val->flags&PV_VAL_STR) && val->rs.len<=0))
 	{
 		memset(&act, 0, sizeof(act));
 		act.type = SET_USER_T;




More information about the sr-dev mailing list