From 938699d0b629af9b809ffa28f7d99cee6a4c3d83 Mon Sep 17 00:00:00 2001 From: William King Date: Sat, 25 May 2013 07:36:43 -0700 Subject: [PATCH] Better to not pass tmp_socket to setsockopt if there was an error here creating the socket. --- src/switch_utils.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/switch_utils.c b/src/switch_utils.c index bc97f19120..a9fe6d1e6a 100644 --- a/src/switch_utils.c +++ b/src/switch_utils.c @@ -1501,7 +1501,9 @@ SWITCH_DECLARE(switch_status_t) switch_find_local_ip(char *buf, int len, int *ma remote.sin_port = htons(4242); memset(&iface_out, 0, sizeof(iface_out)); - tmp_socket = socket(AF_INET, SOCK_DGRAM, 0); + if ( (tmp_socket = socket(AF_INET, SOCK_DGRAM, 0)) == -1 ) { + goto doh; + } if (setsockopt(tmp_socket, SOL_SOCKET, SO_BROADCAST, &on, sizeof(on)) == -1) { goto doh; @@ -1539,7 +1541,9 @@ SWITCH_DECLARE(switch_status_t) switch_find_local_ip(char *buf, int len, int *ma remote.sin6_port = htons(4242); memset(&iface_out, 0, sizeof(iface_out)); - tmp_socket = socket(AF_INET6, SOCK_DGRAM, 0); + if ( (tmp_socket = socket(AF_INET6, SOCK_DGRAM, 0)) == -1 ) { + goto doh; + } if (connect(tmp_socket, (struct sockaddr *) &remote, sizeof(remote)) == -1) { goto doh;