205726d
From: Liviu Chircu <liviu@opensips.org>
205726d
Date: Fri, 25 May 2018 11:50:55 +0300
205726d
Subject: [PATCH] path: Fix buffer overflow with use_path_received + IPv6
205726d
205726d
Introduced in commit b3bf15646a
205726d
205726d
(cherry picked from commit 636a7420072b90c21bd3073b2c2bad6b375284ea)
205726d
205726d
diff --git a/lib/path.c b/lib/path.c
205726d
index e559664e5..7bea3db5b 100644
205726d
--- a/lib/path.c
205726d
+++ b/lib/path.c
205726d
@@ -102,7 +102,7 @@ static int build_path(struct sip_msg* _m, struct lump* l, struct lump* l2,
205726d
 		/* TODO: agranig: optimize this one! */
205726d
 		src_ip = ip_addr2a(&_m->rcv.src_ip);
205726d
 		rcv_addr.s = pkg_malloc(4 + IP_ADDR_MAX_STR_SIZE + 7 +
205726d
-			PATH_TRANS_PARAM_LEN + 4); /* sip:<ip>:<port>[;transport=xxxx]\0 */
205726d
+			PATH_ESC_TRANS_PARAM_LEN + 4); /* sip:<ip>:<port>(\0|[%3btransport%3dxxxx]) */
205726d
 		if(!rcv_addr.s) {
205726d
 			LM_ERR("no pkg memory left for receive-address\n");
205726d
 			goto out4;