Diff between 952c08ff50c5f18b61e99262b93ba679d5f71cc7 and 60663d4af3ffb6f82e75a3a4bc73b8b8887a3353

Changed Files

File Additions Deletions Status
profiles/input/hog-lib.c +9 -0 modified

Full Patch

diff --git a/profiles/input/hog-lib.c b/profiles/input/hog-lib.c
index ace233d..021db38 100644
--- a/profiles/input/hog-lib.c
+++ b/profiles/input/hog-lib.c
@@ -590,6 +590,9 @@ static struct report *report_new(struct bt_hog *hog, struct gatt_char *chr)
 	struct report *report;
 	GSList *l;
 
+	if (!chr)
+		return NULL;
+
 	/* Skip if report already exists */
 	l = g_slist_find_custom(hog->reports, chr, report_chrc_cmp);
 	if (l)
@@ -630,6 +633,9 @@ static void external_service_char_cb(uint8_t status, GSList *chars,
 		chr = l->data;
 		next = l->next ? l->next->data : NULL;
 
+		if (!chr)
+			continue;
+
 		DBG("0x%04x UUID: %s properties: %02x",
 				chr->handle, chr->uuid, chr->properties);
 
@@ -1232,6 +1238,9 @@ static void char_discovered_cb(uint8_t status, GSList *chars, void *user_data)
 		chr = l->data;
 		next = l->next ? l->next->data : NULL;
 
+		if (!chr)
+			continue;
+
 		DBG("0x%04x UUID: %s properties: %02x",
 				chr->handle, chr->uuid, chr->properties);