Diff between 1a651b9709c0670087b7df733840416bf1b3dcfb and 50a72980c03d3bfc11c57f67b7f7193df8b2c12c

Changed Files

File Additions Deletions Status
src/device.c +7 -0 modified

Full Patch

diff --git a/src/device.c b/src/device.c
index 55842b6..d4c1e23 100644
--- a/src/device.c
+++ b/src/device.c
@@ -3177,6 +3177,13 @@ static void find_included_cb(GSList *includes, uint8_t status,
 	struct gatt_primary *prim;
 	GSList *l;
 
+	if (device->attrib == NULL) {
+		error("Disconnected while doing included discovery");
+		g_slist_free(search->services);
+		g_free(search);
+		return;
+	}
+
 	if (status != 0) {
 		error("Find included services failed: %s (%d)",
 					att_ecode2str(status), status);