39 lines
1.1 KiB
Diff
39 lines
1.1 KiB
Diff
From 8791daf6c46e57c3760a564a7dfbe85513aba522 Mon Sep 17 00:00:00 2001
|
|
From: "Lamarque V. Souza" <lamarque@kde.org>
|
|
Date: Sun, 22 Sep 2013 09:32:24 -0300
|
|
Subject: [PATCH 17/17] Do not leak sockets in NetworkInterface::isWireless().
|
|
|
|
BUG: 324954
|
|
REVIEW: 112869
|
|
FIXED-IN: 4.11.2
|
|
---
|
|
solid/solid/backends/udev/udevnetworkinterface.cpp | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/solid/solid/backends/udev/udevnetworkinterface.cpp b/solid/solid/backends/udev/udevnetworkinterface.cpp
|
|
index 06dc907..cf9c737 100644
|
|
--- a/solid/solid/backends/udev/udevnetworkinterface.cpp
|
|
+++ b/solid/solid/backends/udev/udevnetworkinterface.cpp
|
|
@@ -25,6 +25,7 @@
|
|
#include <sys/socket.h>
|
|
#include <sys/ioctl.h>
|
|
#include <sys/stat.h>
|
|
+#include <unistd.h>
|
|
#include <linux/if_arp.h>
|
|
#include <linux/wireless.h>
|
|
|
|
@@ -67,8 +68,10 @@ bool NetworkInterface::isWireless() const
|
|
QFileInfo phyDir(m_device->deviceName() + "/phy80211");
|
|
|
|
if ((ioctl (ioctl_fd, SIOCGIWNAME, &iwr) == 0) || phyDir.isDir()) {
|
|
+ close(ioctl_fd);
|
|
return true;
|
|
}
|
|
+ close(ioctl_fd);
|
|
}
|
|
return false;
|
|
}
|
|
--
|
|
1.8.3.1
|
|
|