Diff between 00852d31df223537b8ce2b8fc9a714a10d31c9f5 and e892dd0cd7689c1ffb8ad2c07113acc9d19e3973

Changed Files

File Additions Deletions Status
src/gatt-database.c +6 -1 modified

Full Patch

diff --git a/src/gatt-database.c b/src/gatt-database.c
index 6694a01..90cc4ba 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
@@ -1999,6 +1999,7 @@ static bool parse_includes(GDBusProxy *proxy, struct external_service *service)
 	DBusMessageIter iter;
 	DBusMessageIter array;
 	char *obj;
+	char *includes;
 	int type;
 
 	/* Includes property is optional */
@@ -2017,7 +2018,11 @@ static bool parse_includes(GDBusProxy *proxy, struct external_service *service)
 
 		dbus_message_iter_get_basic(&array, &obj);
 
-		if (!queue_push_tail(service->includes, obj)) {
+		includes = g_strdup(obj);
+		if (!includes)
+			return false;
+
+		if (!queue_push_tail(service->includes, includes)) {
 			error("Failed to add Includes path in queue\n");
 			return false;
 		}