Module: kamailio Branch: 4.4 Commit: fc4cfe984ef160db96e206c45610b05fe32aa455 URL: https://github.com/kamailio/kamailio/commit/fc4cfe984ef160db96e206c45610b05fe32aa455
Author: Daniel-Constantin Mierla <mico...@gmail.com> Committer: Daniel-Constantin Mierla <mico...@gmail.com> Date: 2017-03-21T13:19:30+01:00 siptrace: avoid creating proxy structure twice in trace_send_duplicate() - can happen when dst parameter is given, resulting in mem leak - related to GH #1040 (cherry picked from commit 8cd0f0be8bda6a903eab8c0ef610cb00b8ba8359) (cherry picked from commit 97c6e811814e85b9845993a6b41994f70c57d2c4) --- Modified: modules/siptrace/siptrace.c --- Diff: https://github.com/kamailio/kamailio/commit/fc4cfe984ef160db96e206c45610b05fe32aa455.diff Patch: https://github.com/kamailio/kamailio/commit/fc4cfe984ef160db96e206c45610b05fe32aa455.patch --- diff --git a/modules/siptrace/siptrace.c b/modules/siptrace/siptrace.c index 4594e25..29bd60d 100644 --- a/modules/siptrace/siptrace.c +++ b/modules/siptrace/siptrace.c @@ -1594,19 +1594,9 @@ static int trace_send_duplicate(char *buf, int len, struct dest_info *dst2) return 0; init_dest_info(&dst); - /* create a temporary proxy*/ - dst.proto = PROTO_UDP; - p=mk_proxy(&dup_uri->host, (dup_uri->port_no)?dup_uri->port_no:SIP_PORT, - dst.proto); - if (p==0) - { - LM_ERR("bad host name in uri\n"); - return -1; - } if (!dst2){ - init_dest_info(&dst); - /* create a temporary proxy*/ + /* create a temporary proxy from dst param */ dst.proto = PROTO_UDP; p=mk_proxy(&dup_uri->host, (dup_uri->port_no)?dup_uri->port_no:SIP_PORT, dst.proto); @@ -1622,6 +1612,16 @@ static int trace_send_duplicate(char *buf, int len, struct dest_info *dst2) " listening socket\n", dst.to.s.sa_family, dst.proto); goto error; } + } else { + /* create a temporary proxy to dup uri */ + dst.proto = PROTO_UDP; + p=mk_proxy(&dup_uri->host, (dup_uri->port_no)?dup_uri->port_no:SIP_PORT, + dst.proto); + if (p==0) + { + LM_ERR("bad host name in uri\n"); + return -1; + } } if (msg_send((dst2)?dst2:&dst, buf, len)<0) _______________________________________________ sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev