diff options
author | Damien George <damien.p.george@gmail.com> | 2018-05-17 22:11:22 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2018-05-17 22:11:22 +1000 |
commit | f8a5cd24d898f06f742839e0629016e704affadc (patch) | |
tree | 3c5f0df728dd1e0ccaca1faa24033441ee4c96e2 | |
parent | 94a79f340dd86ce698f8f55c6c6111f21256b91f (diff) |
esp8266/modnetwork: Return empty str for hostname if STA is inactive.
Instead of crashing due to NULL pointer dereference. Fixes issue #3341.
-rw-r--r-- | ports/esp8266/modnetwork.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ports/esp8266/modnetwork.c b/ports/esp8266/modnetwork.c index dcc64d40f..7ececaf95 100644 --- a/ports/esp8266/modnetwork.c +++ b/ports/esp8266/modnetwork.c @@ -443,7 +443,11 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs case MP_QSTR_dhcp_hostname: { req_if = STATION_IF; char* s = wifi_station_get_hostname(); - val = mp_obj_new_str(s, strlen(s)); + if (s == NULL) { + val = MP_OBJ_NEW_QSTR(MP_QSTR_); + } else { + val = mp_obj_new_str(s, strlen(s)); + } break; } default: |