summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
diff options
context:
space:
mode:
authorpuuu <puuu@users.noreply.github.com>2017-05-11 11:50:01 +0900
committerDamien George <damien.p.george@gmail.com>2017-05-16 17:30:45 +1000
commit4b235800a4ebba19a98bba50a5a98d2c407d99a7 (patch)
treed4a96a80d5914b1e8bc19e10d0e8b886f72f57bd /esp8266
parent162a0f942b8c049ef3b7a4c6ad7f28f8a46667dd (diff)
downloadmicropython-4b235800a4ebba19a98bba50a5a98d2c407d99a7.tar.gz
micropython-4b235800a4ebba19a98bba50a5a98d2c407d99a7.zip
esp8266/modnetwork: In connect, fix potential buffer overflows.
Diffstat (limited to 'esp8266')
-rw-r--r--esp8266/modnetwork.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/esp8266/modnetwork.c b/esp8266/modnetwork.c
index 627655b369..eb9d75e284 100644
--- a/esp8266/modnetwork.c
+++ b/esp8266/modnetwork.c
@@ -102,13 +102,13 @@ STATIC mp_obj_t esp_connect(mp_uint_t n_args, const mp_obj_t *args) {
if (n_args > 1) {
p = mp_obj_str_get_data(args[1], &len);
+ len = MIN(len, sizeof(config.ssid));
memcpy(config.ssid, p, len);
if (n_args > 2) {
p = mp_obj_str_get_data(args[2], &len);
- } else {
- p = "";
+ len = MIN(len, sizeof(config.password));
+ memcpy(config.password, p, len);
}
- memcpy(config.password, p, len);
error_check(wifi_station_set_config(&config), "Cannot set STA config");
}