Diff between aae8b515c5b769a99bfabad01b922f33399a761a and 0732383dcb542b4c1581c2e051199a07bb398d42

Changed Files

File Additions Deletions Status
android/gatt.c +11 -0 modified

Full Patch

diff --git a/android/gatt.c b/android/gatt.c
index b2ce9c1..58bc22d 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -6189,6 +6189,17 @@ static uint8_t find_by_type_request(const uint8_t *cmd, uint16_t cmd_len,
 
 	gatt_db_find_by_type(gatt_db, start, end, &uuid, q);
 
+	if (queue_isempty(q)) {
+		size_t mtu;
+		uint8_t *rsp = g_attrib_get_buffer(device->attrib, &mtu);
+
+		len = enc_error_resp(ATT_OP_FIND_BY_TYPE_REQ, start,
+					ATT_ECODE_ATTR_NOT_FOUND, rsp, mtu);
+		g_attrib_send(device->attrib, 0, rsp, len, NULL, NULL, NULL);
+		queue_destroy(q, NULL);
+		return 0;
+	}
+
 	while (queue_peek_head(q)) {
 		struct gatt_db_attribute *attrib = queue_pop_head(q);
 		struct pending_request *data;