diff --git a/components/bootloader_support/src/flash_partitions.c b/components/bootloader_support/src/flash_partitions.c index a2e1fbb893..a971d73a33 100644 --- a/components/bootloader_support/src/flash_partitions.c +++ b/components/bootloader_support/src/flash_partitions.c @@ -23,7 +23,7 @@ esp_err_t esp_partition_table_verify(const esp_partition_info_t *partition_table if (part->magic == ESP_PARTITION_MAGIC) { const esp_partition_pos_t *pos = &part->pos; - if (pos->offset > chip_size || pos->offset + pos->size > chip_size) { + if (pos->offset > chip_size || pos->size > chip_size - pos->offset) { if (log_errors) { ESP_LOGE(TAG, "partition %d invalid - offset 0x%"PRIx32" size 0x%"PRIx32" exceeds flash chip size 0x%"PRIx32, num_parts, pos->offset, pos->size, chip_size);