cppcheck complains about the dynamic_lock_Areas access. Might fix it

This commit is contained in:
iceman1001 2022-01-09 13:40:58 +01:00
commit 4b0096c135

View file

@ -49,8 +49,8 @@ static struct {
uint8_t uid[7]; uint8_t uid[7];
uint16_t size; uint16_t size;
uint8_t data_blocks[TOPAZ_STATIC_MEMORY / 8][8]; // this memory is always there uint8_t data_blocks[TOPAZ_STATIC_MEMORY / 8][8]; // this memory is always there
uint8_t *dynamic_memory; // this memory can be there uint8_t *dynamic_memory; // this memory can be there
dynamic_lock_area_t *dynamic_lock_areas; // lock area descriptors dynamic_lock_area_t *dynamic_lock_areas; // lock area descriptors
} topaz_tag; } topaz_tag;
static void topaz_switch_on_field(void) { static void topaz_switch_on_field(void) {
@ -201,6 +201,11 @@ static bool topaz_byte_is_locked(uint16_t byteno) {
if (lock_area == NULL) { if (lock_area == NULL) {
return false; return false;
} else { } else {
if ((lock_area->byte_offset - TOPAZ_STATIC_MEMORY) < 0) {
return false;
}
lockbits = &topaz_tag.dynamic_memory[lock_area->byte_offset - TOPAZ_STATIC_MEMORY]; lockbits = &topaz_tag.dynamic_memory[lock_area->byte_offset - TOPAZ_STATIC_MEMORY];
locked_bytes_per_bit = lock_area->bytes_locked_per_bit; locked_bytes_per_bit = lock_area->bytes_locked_per_bit;
byteno = byteno - lock_area->first_locked_byte; byteno = byteno - lock_area->first_locked_byte;