From 63420db54dc9289071c3f32be23bdf062e6f1783 Mon Sep 17 00:00:00 2001 From: PolynomialDivision Date: Sat, 23 Dec 2017 18:30:09 +0100 Subject: [PATCH] compare essid --- src/utils/dawn_iwinfo.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/utils/dawn_iwinfo.c b/src/utils/dawn_iwinfo.c index 969631f..a5ae378 100644 --- a/src/utils/dawn_iwinfo.c +++ b/src/utils/dawn_iwinfo.c @@ -45,7 +45,7 @@ int compare_essid(__uint8_t *bssid_addr, __uint8_t *bssid_addr_to_compare) char buf_essid[IWINFO_ESSID_MAX_SIZE+1] = { 0 }; char buf_essid_to_compare[IWINFO_ESSID_MAX_SIZE+1] = { 0 }; - while ((entry = readdir(dirp)) != NULL) { + while ((entry = readdir(dirp)) != NULL && (essid == NULL || essid_to_compare == NULL)) { if (entry->d_type == DT_SOCK) { iw = iwinfo_backend(entry->d_name); @@ -57,14 +57,14 @@ int compare_essid(__uint8_t *bssid_addr, __uint8_t *bssid_addr_to_compare) if(strcmp(mac_buf, buf_bssid)) { - if (iw->ssid(entry->d_type, buf_essid)) + if (iw->ssid(entry->d_name, buf_essid)) memset(buf_essid, 0, sizeof(buf_essid)); essid = buf_essid; } if(strcmp(mac_buf_to_compare, buf_bssid)) { - if (iw->ssid(entry->d_type, buf_essid_to_compare)) + if (iw->ssid(entry->d_name, buf_essid_to_compare)) memset(buf_essid_to_compare, 0, sizeof(buf_essid_to_compare)); essid_to_compare = buf_essid_to_compare; } @@ -74,6 +74,11 @@ int compare_essid(__uint8_t *bssid_addr, __uint8_t *bssid_addr_to_compare) printf("Comparing: %s with %s\n", essid, essid_to_compare); + if(essid == NULL || essid_to_compare == NULL) + { + return -1; + } + if(strcmp(essid, essid_to_compare)) { return 0;