summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Leech <cleech@redhat.com>2019-10-30 11:06:07 -0700
committerChris Leech <cleech@redhat.com>2019-10-31 15:48:08 -0700
commite13d2fe2b39d6a69b7a7c82cdc3185996bceaca2 (patch)
tree7eff3c9203d268f573b016bdf6037e1fc84f20e0
parent3d8526034af32c5c70929f6217aa8e5abeee59d5 (diff)
downloadopen-iscsi-e13d2fe2b39d6a69b7a7c82cdc3185996bceaca2.tar.gz
Resource leak: returning without freeing netdev
-rw-r--r--usr/iscsi_net_util.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr/iscsi_net_util.c b/usr/iscsi_net_util.c
index 6339082..a32b49c 100644
--- a/usr/iscsi_net_util.c
+++ b/usr/iscsi_net_util.c
@@ -271,7 +271,8 @@ int net_setup_netdev(char *netdev, char *local_ip, char *mask, char *gateway,
if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
log_error("Could not open socket to manage network "
"(err %d - %s)", errno, strerror(errno));
- return errno;
+ ret = errno;
+ goto done;
}
/* Bring up NIC with correct address - unless it
@@ -389,7 +390,8 @@ int net_setup_netdev(char *netdev, char *local_ip, char *mask, char *gateway,
ret = 0;
done:
- close(sock);
+ if (sock >= 0)
+ close(sock);
if (vlan_id)
free(netdev);
return ret;