From 3c30b171707858256306db36627649ddfd03bc43 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 31 Jul 2018 20:09:02 +0200 Subject: wl: only invoke nvram executable if it exists Signed-off-by: Jo-Philipp Wich --- iwinfo_wl.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'iwinfo_wl.c') diff --git a/iwinfo_wl.c b/iwinfo_wl.c index c7517ec..80d3d7e 100644 --- a/iwinfo_wl.c +++ b/iwinfo_wl.c @@ -18,6 +18,9 @@ * This code is based on the wlc.c utility published by OpenWrt.org . */ +#include +#include + #include "iwinfo.h" #include "api/broadcom.h" @@ -702,15 +705,19 @@ static int wl_get_txpower_offset(const char *ifname, int *buf) { FILE *p; char off[8]; + struct stat s; *buf = 0; - if ((p = popen("/usr/sbin/nvram get opo", "r")) != NULL) + if (!stat("/usr/sbin/nvram", &s) && (s.st_mode & S_IXUSR)) { - if (fread(off, 1, sizeof(off), p)) - *buf = strtoul(off, NULL, 16); + if ((p = popen("/usr/sbin/nvram get opo", "r")) != NULL) + { + if (fread(off, 1, sizeof(off), p)) + *buf = strtoul(off, NULL, 16); - pclose(p); + pclose(p); + } } return 0; -- cgit v1.2.1