diff --git a/src/shared/gatt-helpers.c b/src/shared/gatt-helpers.c
index d689c56..0dbd999 100644
--- a/src/shared/gatt-helpers.c
+++ b/src/shared/gatt-helpers.c
if (result->opcode != BT_ATT_OP_READ_BY_TYPE_RSP)
return 0;
+ /*
+ * Data length contains 7 or 21 octets:
+ * 2 octets: Attribute handle
+ * 1 octet: Characteristic properties
+ * 2 octets: Characteristic value handle
+ * 2 or 16 octets: characteristic UUID
+ */
+ if (result->data_len != 21 && result->data_len != 7)
+ return 0;
+
return result_element_count(result);
}
if (iter->result->opcode != BT_ATT_OP_READ_BY_TYPE_RSP)
return false;
+ /*
+ * Data length contains 7 or 21 octets:
+ * 2 octets: Attribute handle
+ * 1 octet: Characteristic properties
+ * 2 octets: Characteristic value handle
+ * 2 or 16 octets: characteristic UUID
+ */
+ if (iter->result->data_len != 21 && iter->result->data_len != 7)
+ return false;
+
op = iter->result->op;
pdu_ptr = iter->result->pdu + iter->pos;