[sr-dev] git:5.3:8fcbfc69: pv: handle s.prefixes for empty values

Daniel-Constantin Mierla miconda at gmail.com
Fri Sep 4 10:45:07 CEST 2020


Module: kamailio
Branch: 5.3
Commit: 8fcbfc697eaa7df91e84bfbf484ed51a49fc0e2e
URL: https://github.com/kamailio/kamailio/commit/8fcbfc697eaa7df91e84bfbf484ed51a49fc0e2e

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2020-09-04T10:44:36+02:00

pv: handle s.prefixes for empty values

- avoid crash due to invalid length of result, GH #2467

(cherry picked from commit e74b06c32bc2b090937350858f655af4ab89ff63)
(cherry picked from commit ad14b61155686aead27e7ac5f3fb6b1aa90b6840)

---

Modified: src/modules/pv/pv_trans.c

---

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

---

diff --git a/src/modules/pv/pv_trans.c b/src/modules/pv/pv_trans.c
index dfc842aac1..b95ffd135c 100644
--- a/src/modules/pv/pv_trans.c
+++ b/src/modules/pv/pv_trans.c
@@ -838,6 +838,7 @@ int tr_eval_string(struct sip_msg *msg, tr_param_t *tp, int subtype,
 			if(!(val->flags&PV_VAL_STR))
 				val->rs.s = int2str(val->ri, &val->rs.len);
 
+
 			/* Set maximum prefix length */
 			max = val->rs.len;
 			if(tp!=NULL) {
@@ -876,7 +877,7 @@ int tr_eval_string(struct sip_msg *msg, tr_param_t *tp, int subtype,
 			memset(val, 0, sizeof(pv_value_t));
 			val->flags = PV_VAL_STR;
 			val->rs.s = _tr_buffer;
-			val->rs.len = j-1;
+			val->rs.len = (j>0)?(j-1):0;
 			break;
 
 




More information about the sr-dev mailing list