summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2015-12-31 05:25:45 +0000
committerLiong Sauw Ming <ming@teluu.com>2015-12-31 05:25:45 +0000
commit82656e80c94a3ce0bd758d2187afda61913a198c (patch)
tree19259a5b018ae66adb5b660b2b7170e05a89817d
parentfdd5233b23cd1bda248b73aa6e8d9e06b7eba18d (diff)
Re #1882 (misc): close socket on error after calling pj_sock_getsockname() as it was closed above on error after calling get_published_name()
Thanks to Dusan Klinec for the patch git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5230 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjsip/src/pjsip/sip_transport_udp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pjsip/src/pjsip/sip_transport_udp.c b/pjsip/src/pjsip/sip_transport_udp.c
index f11cafaf..9c87fb84 100644
--- a/pjsip/src/pjsip/sip_transport_udp.c
+++ b/pjsip/src/pjsip/sip_transport_udp.c
@@ -1090,8 +1090,10 @@ PJ_DEF(pj_status_t) pjsip_udp_transport_restart(pjsip_transport *transport,
/* Init local address. */
status = pj_sock_getsockname(sock, &tp->base.local_addr,
&tp->base.addr_len);
- if (status != PJ_SUCCESS)
- return status;
+ if (status != PJ_SUCCESS) {
+ pj_sock_close(sock);
+ return status;
+ }
/* Assign the socket and published address to transport. */
udp_set_socket(tp, sock, a_name);