diff options
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/src/pjsip/sip_transport_udp.c | 6 |
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); |