소스 검색

pv: handle s.prefixes for empty values

- avoid crash due to invalid length of result, GH #2467
Daniel-Constantin Mierla 5 년 전
부모
커밋
e74b06c32b
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      src/modules/pv/pv_trans.c

+ 2 - 1
src/modules/pv/pv_trans.c

@@ -909,6 +909,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) {
@@ -947,7 +948,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;