Fix Updater potential overflow, add host tests by earlephilhower · Pull Request #6954 · esp8266/Arduino

@earlephilhower

Fixes esp8266#4674

The Updater class could, when exactly 4K bytes were in the buffer but
not yet written to flash, allow overwriting data written to it beyond
the passed-in size parameter.

Fix per @jason-but's suggestion, and add a host test (plus minor changes
to Updater code to support host testing).

@earlephilhower added this to the 2.7.0 milestone

Dec 28, 2019

@earlephilhower

@earlephilhower

mcspr

@earlephilhower

Per @mcspr's suggestion, we can pass in fake link symbols allowing
Updater to take the address of `_FS_start`/etc. even when building on
the host for testing.

There is still a single remaining wifi_set_power_mode ifdef'd and a
duplication of the digitalWrite/pinMode for testing vs. host building.

@devyte