From a8d5878e224b0748b01e956513b2307332a1de5d Mon Sep 17 00:00:00 2001 From: Erik Nyquist Date: Fri, 3 Jun 2016 15:02:00 -0700 Subject: [PATCH] SerialFlash: enlarge chip ID buffer SerialFlashChip::readID() writes up to 5 bytes into the buffer provided, but the caller only allocates 3 bytes. Increase buffer size to 5 bytes. --- libraries/SerialFlash/SerialFlashDirectory.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/SerialFlash/SerialFlashDirectory.cpp b/libraries/SerialFlash/SerialFlashDirectory.cpp index 036a3c34..116c14ec 100644 --- a/libraries/SerialFlash/SerialFlashDirectory.cpp +++ b/libraries/SerialFlash/SerialFlashDirectory.cpp @@ -310,7 +310,9 @@ bool SerialFlashChip::create(const char *filename, uint32_t length, uint32_t ali // last check, if enough space exists... len = strlen(filename); // TODO: check for enough string space for filename - uint8_t id[3]; + + // 5 bytes, to allow for extra 2 bytes in Spansion device IDs + uint8_t id[5]; SerialFlash.readID(id); if (address + length > SerialFlash.capacity(id)) return false;