diff --git a/src/common/address.c b/src/common/address.c index dbb92759d4..d8202e17a5 100644 --- a/src/common/address.c +++ b/src/common/address.c @@ -1448,7 +1448,6 @@ get_interface_addresses_ioctl(int severity) if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) { tor_log(severity, LD_NET, "ioctl failed: %s", strerror(errno)); - close(fd); goto done; } /* Ensure we have least IFREQ_SIZE bytes unused at the end. Otherwise, we @@ -1457,7 +1456,8 @@ get_interface_addresses_ioctl(int severity) result = ifreq_to_smartlist(ifc.ifc_buf, ifc.ifc_len); done: - close(fd); + if (fd >= 0) + close(fd); tor_free(ifc.ifc_buf); return result; }