From a9a939af2ad978c2d5c3726a6513d07620e0d7da Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Sun, 10 Jan 2010 11:01:56 -0800 Subject: Correctly handle errors other than problems reading /sys/class/net. --- pcap-linux.c | 15 +++++++++------ 1 file 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); -- cgit v1.2.3