gprs_ns2_fr: fix resource leaks due to early return in set_ifupdown()

Change-Id: Ie52bf8ac6d62e7f2d760294bf2fe90119cc96b4b
Related: CID#215869
diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c
index ca2d38c..2c797f3 100644
--- a/src/gb/gprs_ns2_fr.c
+++ b/src/gb/gprs_ns2_fr.c
@@ -448,11 +448,15 @@
 	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;