diff options
author | puuu <puuu@users.noreply.github.com> | 2017-05-11 11:50:01 +0900 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2017-05-16 17:30:45 +1000 |
commit | 4b235800a4ebba19a98bba50a5a98d2c407d99a7 (patch) | |
tree | d4a96a80d5914b1e8bc19e10d0e8b886f72f57bd /esp8266 | |
parent | 162a0f942b8c049ef3b7a4c6ad7f28f8a46667dd (diff) | |
download | micropython-4b235800a4ebba19a98bba50a5a98d2c407d99a7.tar.gz micropython-4b235800a4ebba19a98bba50a5a98d2c407d99a7.zip |
esp8266/modnetwork: In connect, fix potential buffer overflows.
Diffstat (limited to 'esp8266')
-rw-r--r-- | esp8266/modnetwork.c | 6 |
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"); } |