Xinqi Bao's Git
projects
/
slstatus.git
/ commitdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (from parent 1:
c1dc896
)
close file descriptors and fix return values
author
Michael Buch <
[email protected]
>
Wed, 13 Feb 2019 14:16:17 +0000
(14:16 +0000)
committer
Aaron Marcher <
[email protected]
>
Wed, 13 Feb 2019 14:23:04 +0000
(15:23 +0100)
components/wifi.c
patch
|
blob
|
history
diff --git
a/components/wifi.c
b/components/wifi.c
index
d99c46c
..
92c252e
100644
(file)
--- a/
components/wifi.c
+++ b/
components/wifi.c
@@
-211,14
+211,16
@@
int rssi_dbm;
int sockfd;
size_t len;
int rssi_dbm;
int sockfd;
size_t len;
+ const char *fmt;
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
warn("socket 'AF_INET':");
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
warn("socket 'AF_INET':");
- return
0
;
+ return
NULL
;
}
/* Retreive MAC address of interface */
len = IEEE80211_ADDR_LEN;
}
/* Retreive MAC address of interface */
len = IEEE80211_ADDR_LEN;
+ fmt = NULL;
if (load_ieee80211req(sockfd, interface, &bssid, IEEE80211_IOC_BSSID, &len))
{
/* Retrieve info on station with above BSSID */
if (load_ieee80211req(sockfd, interface, &bssid, IEEE80211_IOC_BSSID, &len))
{
/* Retrieve info on station with above BSSID */
@@
-229,12
+231,13
@@
if (load_ieee80211req(sockfd, interface, &info, IEEE80211_IOC_STA_INFO, &len)) {
rssi_dbm = info.sta.info[0].isi_noise +
info.sta.info[0].isi_rssi / 2;
if (load_ieee80211req(sockfd, interface, &info, IEEE80211_IOC_STA_INFO, &len)) {
rssi_dbm = info.sta.info[0].isi_noise +
info.sta.info[0].isi_rssi / 2;
- return bprintf("%d", RSSI_TO_PERC(rssi_dbm));
+
+ fmt = bprintf("%d", RSSI_TO_PERC(rssi_dbm));
}
}
close(sockfd);
}
}
close(sockfd);
- return
NULL
;
+ return
fmt
;
}
const char *
}
const char *
@@
-243,12
+246,14
@@
char ssid[IEEE80211_NWID_LEN + 1];
size_t len;
int sockfd;
char ssid[IEEE80211_NWID_LEN + 1];
size_t len;
int sockfd;
+ const char *fmt;
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
warn("socket 'AF_INET':");
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
warn("socket 'AF_INET':");
- return
0
;
+ return
NULL
;
}
}
+ fmt = NULL;
len = sizeof(ssid);
memset(&ssid, 0, len);
if (load_ieee80211req(sockfd, interface, &ssid, IEEE80211_IOC_SSID, &len )) {
len = sizeof(ssid);
memset(&ssid, 0, len);
if (load_ieee80211req(sockfd, interface, &ssid, IEEE80211_IOC_SSID, &len )) {
@@
-258,9
+263,10
@@
len = sizeof(ssid);
ssid[len - 1] = '\0';
len = sizeof(ssid);
ssid[len - 1] = '\0';
-
return
bprintf("%s", ssid);
+
fmt =
bprintf("%s", ssid);
}
}
- return NULL;
+ close(sockfd);
+ return fmt;
}
#endif
}
#endif