Diff between 852fedd60b4c1a21d42cf50fbd3c921711a298e3 and d76a4cd489df08b6c6390c4b6f73b6ac95d26015

Changed Files

File Additions Deletions Status
mesh/node.c +7 -3 modified

Full Patch

diff --git a/mesh/node.c b/mesh/node.c
index 157991d..a6c9332 100644
--- a/mesh/node.c
+++ b/mesh/node.c
@@ -233,7 +233,7 @@ static void free_node_resources(void *data)
 
 	if (node->path)
 		l_dbus_object_remove_interface(dbus_get_bus(), node->path,
-					MESH_NODE_INTERFACE);
+							MESH_NODE_INTERFACE);
 	l_free(node->path);
 
 	l_free(node);
@@ -1020,8 +1020,12 @@ static void app_disc_cb(struct l_dbus *bus, void *user_data)
 	l_free(node->owner);
 	node->owner = NULL;
 
-	l_free(node->app_path);
-	node->app_path = NULL;
+	if (node->path) {
+		l_dbus_object_remove_interface(dbus_get_bus(), node->path,
+							MESH_NODE_INTERFACE);
+		l_free(node->app_path);
+		node->app_path = NULL;
+	}
 }
 
 static bool validate_element_properties(struct mesh_node *node,