From fd86bf591762abe8b9167494667f87928f105473 Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Sun, 27 Mar 2016 15:32:58 +0300
Subject: [PATCH] esp8266/modesp: flash_write(): Writes in multiples of 4
 bytes.

---
 esp8266/modesp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/esp8266/modesp.c b/esp8266/modesp.c
index 18859ead8..29b18d862 100644
--- a/esp8266/modesp.c
+++ b/esp8266/modesp.c
@@ -553,6 +553,9 @@ STATIC mp_obj_t esp_flash_write(mp_obj_t offset_in, const mp_obj_t buf_in) {
     mp_int_t offset = mp_obj_get_int(offset_in);
     mp_buffer_info_t bufinfo;
     mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_READ);
+    if (bufinfo.len & 0x3) {
+        nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "len must be multiple of 4"));
+    }
     SpiFlashOpResult res = spi_flash_write(offset, bufinfo.buf, bufinfo.len);
     if (res == SPI_FLASH_RESULT_OK) {
         return mp_const_none;
-- 
GitLab