Browse Source

kcore: check if To header is parsed before parsing To uri

- parse_to_uri(msg) calls parse_to_header(msg) in order to be sure that
  the To header has been located and parsed
Daniel-Constantin Mierla 14 năm trước cách đây
mục cha
commit
fa2e51a07c
1 tập tin đã thay đổi với 10 bổ sung1 xóa
  1. 10 1
      lib/kcore/parser_helpers.c

+ 10 - 1
lib/kcore/parser_helpers.c

@@ -12,7 +12,16 @@ struct sip_uri *parse_to_uri(struct sip_msg *msg)
 {
 	struct to_body *tb = NULL;
 	
-	if(msg==NULL || msg->to==NULL || msg->to->parsed==NULL)
+	if(msg==NULL)
+		return NULL;
+
+	if(parse_to_header(msg)<0)
+	{
+		LM_ERR("cannot parse TO header\n");
+		return NULL;
+	}
+
+	if(msg->to==NULL || get_to(msg)==NULL)
 		return NULL;
 
 	tb = get_to(msg);