Fix crash when device in access point mode

BUG: 27431574
Change-Id: I6c217c78bd9809383d13528ec21b9447ee7a4fce
Reviewed-on: https://weave-review.googlesource.com/2794
Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/examples/provider/wifi_manager.cc b/examples/provider/wifi_manager.cc
index 7afd9ca..27bbfd6 100644
--- a/examples/provider/wifi_manager.cc
+++ b/examples/provider/wifi_manager.cc
@@ -73,8 +73,10 @@
   std::string essid(' ', IW_ESSID_MAX_SIZE + 1);
   wreq.u.essid.pointer = &essid[0];
   wreq.u.essid.length = essid.size();
-  CHECK_GE(ioctl(sockf_d, SIOCGIWESSID, &wreq), 0) << strerror(errno);
-  essid.resize(wreq.u.essid.length);
+  if (ioctl(sockf_d, SIOCGIWESSID, &wreq) >= 0)
+    essid.resize(wreq.u.essid.length);
+  else
+    essid.clear();
   close(sockf_d);
   return essid;
 }
@@ -90,13 +92,13 @@
   wreq.u.data.pointer = &range;
   wreq.u.data.length = sizeof(range);
 
-  CHECK_GE(ioctl(sockf_d, SIOCGIWRANGE, &wreq), 0) << strerror(errno);
-
   bool result = false;
-  for (size_t i = 0; !result && i < range.num_frequency; ++i) {
-    double freq = range.freq[i].m * std::pow(10., range.freq[i].e);
-    if (start <= freq && freq <= end)
-      result = true;
+  if (ioctl(sockf_d, SIOCGIWRANGE, &wreq) >= 0) {
+    for (size_t i = 0; !result && i < range.num_frequency; ++i) {
+      double freq = range.freq[i].m * std::pow(10., range.freq[i].e);
+      if (start <= freq && freq <= end)
+        result = true;
+    }
   }
 
   close(sockf_d);