wifi: Add wifi pointer NULL checks
[framework/connectivity/connman.git] / src / device.c
index d06bffd..f2f3ce5 100644 (file)
@@ -704,8 +704,6 @@ connman_bool_t connman_device_get_scanning(struct connman_device *device)
 
 void connman_device_reset_scanning(struct connman_device *device)
 {
-       device->scanning = FALSE;
-
        g_hash_table_foreach(device->networks,
                                mark_network_available, NULL);
 }
@@ -1115,6 +1113,7 @@ int __connman_device_request_hidden_scan(struct connman_device *device,
 connman_bool_t __connman_device_isfiltered(const char *devname)
 {
        char **pattern;
+       char **blacklisted_interfaces;
 
        if (device_filter == NULL)
                goto nodevice;
@@ -1133,7 +1132,7 @@ nodevice:
        }
 
        if (nodevice_filter == NULL)
-               return FALSE;
+               goto list;
 
        for (pattern = nodevice_filter; *pattern; pattern++) {
                if (g_pattern_match_simple(*pattern, devname) == TRUE) {
@@ -1142,6 +1141,19 @@ nodevice:
                }
        }
 
+list:
+       blacklisted_interfaces =
+               connman_setting_get_string_list("NetworkInterfaceBlacklist");
+       if (blacklisted_interfaces == NULL)
+               return FALSE;
+
+       for (pattern = blacklisted_interfaces; *pattern; pattern++) {
+               if (g_str_has_prefix(devname, *pattern) == TRUE) {
+                       DBG("ignoring device %s (blacklist)", devname);
+                       return TRUE;
+               }
+       }
+
        return FALSE;
 }