Free allocated path value
[connman] / src / element.c
index a690046..42e4e87 100644 (file)
@@ -443,7 +443,6 @@ static DBusMessage *network_get_properties(DBusConnection *conn,
        struct connman_element *element = data;
        DBusMessage *reply;
        DBusMessageIter array, dict;
-       const char *str;
 
        DBG("conn %p", conn);
 
@@ -462,11 +461,6 @@ static DBusMessage *network_get_properties(DBusConnection *conn,
                connman_dbus_dict_append_variant(&dict, "Device",
                                DBUS_TYPE_OBJECT_PATH, &element->parent->path);
 
-       str = __connman_element_policy2string(element->policy);
-       if (str != NULL)
-               connman_dbus_dict_append_variant(&dict, "Policy",
-                                               DBUS_TYPE_STRING, &str);
-
        connman_dbus_dict_append_variant(&dict, "Available",
                                        DBUS_TYPE_BOOLEAN, &element->available);
 
@@ -1783,6 +1777,9 @@ static gboolean remove_element(GNode *node, gpointer user_data)
        if (element == root)
                return FALSE;
 
+       if (node != NULL)
+               g_node_unlink(node);
+
        if (element->driver) {
                disable_element(element);
 
@@ -1794,10 +1791,8 @@ static gboolean remove_element(GNode *node, gpointer user_data)
                __connman_element_unlock(element);
        }
 
-       if (node != NULL) {
-               g_node_unlink(node);
+       if (node != NULL)
                g_node_destroy(node);
-       }
 
        if (element->type == CONNMAN_ELEMENT_TYPE_CONNECTION) {
                if (__connman_element_count(NULL,
@@ -1960,6 +1955,15 @@ void __connman_element_start(void)
                                                        probe_node, NULL);
 
        started = TRUE;
+
+       __connman_detect_init();
+}
+
+void __connman_element_stop(void)
+{
+       DBG("");
+
+       __connman_detect_cleanup();
 }
 
 static gboolean free_driver(GNode *node, gpointer data)