aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pcap-linux.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/pcap-linux.c b/pcap-linux.c
index f78c33d..9bb71d4 100644
--- a/pcap-linux.c
+++ b/pcap-linux.c
@@ -1891,14 +1891,17 @@ scan_sys_class_net(pcap_if_t **devlistp, char *errbuf)
break;
}
}
- if (errno != 0) {
+ if (ret != -1) {
/*
- * Error reading the directory.
+ * Well, we didn't fail for any other reason; did we
+ * fail due to an error reading the directory?
*/
- (void)snprintf(errbuf, PCAP_ERRBUF_SIZE,
- "Error reading /sys/class/net: %s",
- pcap_strerror(errno));
- ret = -1;
+ if (errno != 0) {
+ (void)snprintf(errbuf, PCAP_ERRBUF_SIZE,
+ "Error reading /sys/class/net: %s",
+ pcap_strerror(errno));
+ ret = -1;
+ }
}
(void)close(fd);