From de9409762de14b5d909925c5db2e704ec13c754b Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Wed, 12 Jun 2019 17:38:39 +0200 Subject: [PATCH] utils: coverity resource leak warning solve coverity reported resource leak (socket handle) Signed-off-by: Kevin Darbyshire-Bryant --- utils.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) 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; } -- 2.25.1