From 26c447f6532db1fac97a31f7ee907145bb770321 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Tue, 2 May 2023 21:06:17 +0200 Subject: [PATCH] btstack_tlv_flash_bank: assert tag fits into flash bank in iterator --- platform/embedded/btstack_tlv_flash_bank.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platform/embedded/btstack_tlv_flash_bank.c b/platform/embedded/btstack_tlv_flash_bank.c index 54b8790c0..bce3b182d 100644 --- a/platform/embedded/btstack_tlv_flash_bank.c +++ b/platform/embedded/btstack_tlv_flash_bank.c @@ -141,6 +141,11 @@ static void btstack_tlv_flash_bank_write(btstack_tlv_flash_bank_t * self, int ba // iterator static void btstack_tlv_flash_bank_iterator_fetch_tag_len(btstack_tlv_flash_bank_t * self, tlv_iterator_t * it){ + if (it->offset + 8 + self->delete_tag_len >= self->hal_flash_bank_impl->get_size(self->hal_flash_bank_context)){ + it->tag = 0xffffffff; + return; + } + uint8_t entry[8]; btstack_tlv_flash_bank_read(self, it->bank, it->offset, entry, 8); it->tag = big_endian_read_32(entry, 0);