From 2988c7062786652efa2b81ac74312fea46e60b2d Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Thu, 9 Apr 2020 13:45:52 +1000 Subject: [PATCH] AP_FlashStorage: clarify space-available-for-write check --- libraries/AP_FlashStorage/AP_FlashStorage.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/AP_FlashStorage/AP_FlashStorage.cpp b/libraries/AP_FlashStorage/AP_FlashStorage.cpp index 0a363f9d54..56189a1378 100644 --- a/libraries/AP_FlashStorage/AP_FlashStorage.cpp +++ b/libraries/AP_FlashStorage/AP_FlashStorage.cpp @@ -187,7 +187,9 @@ bool AP_FlashStorage::write(uint16_t offset, uint16_t length) n = length; } - if (write_offset > flash_sector_size - (sizeof(struct block_header) + max_write + reserved_space)) { + const uint32_t space_available = flash_sector_size - write_offset; + const uint32_t space_required = sizeof(struct block_header) + max_write + reserved_space; + if (space_available < space_required) { if (!switch_sectors()) { if (!flash_erase_ok()) { return false;