From 02cd9f188451ec313da275c12266efa73b302d2c Mon Sep 17 00:00:00 2001 From: Veijo Pesonen Date: Mon, 14 Jan 2019 12:14:58 +0200 Subject: [PATCH] [ESP8266] adds an error check for data overflow from modem side --- components/wifi/esp8266-driver/ESP8266/ESP8266.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp b/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp index b0a5844885..e48b7cbbbd 100644 --- a/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp +++ b/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp @@ -715,6 +715,10 @@ int32_t ESP8266::_recv_tcp_passive(int id, void *data, uint32_t amount, uint32_t // update internal variable tcp_data_avbl to reflect the remaining data if (_sock_i[id].tcp_data_rcvd > 0) { + if (_sock_i[id].tcp_data_rcvd > (int32_t)amount) { + MBED_ERROR(MBED_MAKE_ERROR(MBED_MODULE_DRIVER, MBED_ERROR_CODE_EBADMSG), \ + "ESP8266::_recv_tcp_passive() too much data from modem\n"); + } if (_sock_i[id].tcp_data_avbl > _sock_i[id].tcp_data_rcvd) { _sock_i[id].tcp_data_avbl -= _sock_i[id].tcp_data_rcvd; } else {