Fix derefrencing of invalid pointer
[platform/upstream/connman.git] / src / network.c
index 6849c1b..3bf6299 100755 (executable)
@@ -1350,6 +1350,7 @@ static void network_destruct(struct connman_network *network)
 #if defined TIZEN_EXT
        g_slist_free_full(network->wifi.vsie_list, g_free);
        g_slist_free_full(network->wifi.bssid_list, g_free);
+       g_hash_table_destroy(network->wifi.assoc_reject_table);
 #endif
        g_free(network->path);
        g_free(network->group);
@@ -2668,6 +2669,8 @@ void connman_network_set_assoc_reject_table(struct connman_network *network,
        if (!assoc_reject_table)
                return;
 
+       g_hash_table_destroy(network->wifi.assoc_reject_table);
+
        network->wifi.assoc_reject_table = assoc_reject_table;
 }
 
@@ -2819,6 +2822,21 @@ int connman_network_set_wifi_channel(struct connman_network *network,
        return 0;
 }
 
+int connman_network_set_autoconnect(struct connman_network *network,
+                               bool autoconnect)
+{
+       if (!network->driver || !network->driver->set_autoconnect)
+               return 0;
+       return network->driver->set_autoconnect(network, autoconnect);
+}
+
+bool __connman_network_native_autoconnect(struct connman_network *network)
+{
+       if (!network->driver || !network->driver->set_autoconnect)
+               return false;
+       return true;
+}
+
 uint16_t connman_network_get_wifi_channel(struct connman_network *network)
 {
        return network->wifi.channel;
@@ -3142,6 +3160,7 @@ const void *connman_network_get_blob(struct connman_network *network,
                return network->wifi.transition_mode_ssid;
 #endif
        }
+
        return NULL;
 }