From 64ce1065350413dcd71bd531d12038b5234f539b Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Thu, 7 Mar 2024 13:01:46 +0100 Subject: [PATCH] btstack_hid_parser: return false on parsing error in btstack_hid_report_id_declared --- src/btstack_hid_parser.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/btstack_hid_parser.c b/src/btstack_hid_parser.c index 23338931b..7664e8623 100644 --- a/src/btstack_hid_parser.c +++ b/src/btstack_hid_parser.c @@ -534,7 +534,10 @@ hid_report_id_status_t btstack_hid_id_valid(int report_id, uint16_t hid_descript int btstack_hid_report_id_declared(uint16_t hid_descriptor_len, const uint8_t * hid_descriptor){ while (hid_descriptor_len){ hid_descriptor_item_t item; - btstack_hid_parse_descriptor_item(&item, hid_descriptor, hid_descriptor_len); + bool ok = btstack_hid_parse_descriptor_item(&item, hid_descriptor, hid_descriptor_len); + if (ok == false){ + break; + } switch (item.item_type){ case Global: switch ((GlobalItemTag)item.item_tag){