From: Kevin Darbyshire-Bryant Date: Wed, 12 Jun 2019 15:38:39 +0000 (+0200) Subject: utils: coverity resource leak warning X-Git-Url: http://git.openwrt.org/project/luci.git;master?a=commitdiff_plain;h=de9409762de14b5d909925c5db2e704ec13c754b;p=project%2Ffirewall3.git utils: coverity resource leak warning solve coverity reported resource leak (socket handle) Signed-off-by: Kevin Darbyshire-Bryant --- diff --git a/utils.c b/utils.c index 7f09787..fc6bbd7 100644 --- a/utils.c +++ b/utils.c @@ -944,18 +944,24 @@ bool fw3_check_loopback_dev(const char *name) { struct ifreq ifr; - int s = socket(AF_LOCAL, SOCK_DGRAM, 0); + int s; bool rv = false; + s = socket(AF_LOCAL, SOCK_DGRAM, 0); + + if (s < 0) + return false; + memset(&ifr, 0, sizeof(ifr)); strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name) - 1); - if (s < 0 || ioctl(s, SIOCGIFFLAGS, &ifr) < 0) - goto out; + if (ioctl(s, SIOCGIFFLAGS, &ifr) >= 0) { + if (ifr.ifr_flags & IFF_LOOPBACK) + rv = true; + } + + close(s); - if (ifr.ifr_flags & IFF_LOOPBACK) - rv = true; -out: return rv; }