From 222e8447187ed75bcc89cf3a0e483f1f684074d0 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Tue, 5 Jan 2021 14:33:29 +0100 Subject: gprs_ns2_fr: fix resource leaks due to early return in set_ifupdown() Change-Id: Ie52bf8ac6d62e7f2d760294bf2fe90119cc96b4b Related: CID#215869 --- src/gb/gprs_ns2_fr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index ca2d38cf..2c797f32 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -448,11 +448,15 @@ static int set_ifupdown(const char *netif, bool up) OSMO_STRLCPY_ARRAY(req.ifr_name, netif); rc = ioctl(sock, SIOCGIFFLAGS, &req); - if (rc < 0) + if (rc < 0) { + close(sock); return rc; + } - if ((req.ifr_flags & IFF_UP) == up) + if ((req.ifr_flags & IFF_UP) == up) { + close(sock); return 0; + } if (up) req.ifr_flags |= IFF_UP; -- cgit v1.2.3