2
0
Эх сурвалжийг харах

topos: trim values before reinserting the route header

Daniel-Constantin Mierla 9 жил өмнө
parent
commit
5bc9394024

+ 5 - 2
modules/topos/tps_msg.c

@@ -637,7 +637,7 @@ int tps_reappend_route(sip_msg_t *msg, tps_data_t *ptsd, str *hbody, int rev)
 	int c;
 	int c;
 	str sb;
 	str sb;
 
 
-	if(hbody==NULL || hbody->s==NULL || hbody->len<=0)
+	if(hbody==NULL || hbody->s==NULL || hbody->len<=0 || hbody->s[0]=='\0')
 		return 0;
 		return 0;
 
 
 	if(rev==1) {
 	if(rev==1) {
@@ -670,7 +670,10 @@ int tps_reappend_route(sip_msg_t *msg, tps_data_t *ptsd, str *hbody, int rev)
 	}
 	}
 
 
 	sb = *hbody;
 	sb = *hbody;
-	if(sb.s[sb.len-1]==',') sb.len--;
+	if(sb.len>0 && sb.s[sb.len-1]==',') sb.len--;
+	trim_zeros_lr(&sb);
+	trim(&sb);
+	if(sb.len>0 && sb.s[sb.len-1]==',') sb.len--;
 	if(tps_add_headers(msg, &hname, &sb, 0)<0) {
 	if(tps_add_headers(msg, &hname, &sb, 0)<0) {
 		return -1;
 		return -1;
 	}
 	}