From ea90d3ce92f1329dbdaea2ffcad4801f7c1c9772 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Mon, 16 Feb 2015 03:02:42 +0300 Subject: [PATCH] Fix WiFiClient assignment operator --- libraries/ESP8266WiFi/src/WiFiClient.cpp | 2 ++ libraries/ESP8266WiFi/src/include/ClientContext.h | 1 + 2 files changed, 3 insertions(+) diff --git a/libraries/ESP8266WiFi/src/WiFiClient.cpp b/libraries/ESP8266WiFi/src/WiFiClient.cpp index 5c6ca4019..b8e27ce1c 100644 --- a/libraries/ESP8266WiFi/src/WiFiClient.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClient.cpp @@ -70,6 +70,8 @@ ICACHE_FLASH_ATTR WiFiClient::WiFiClient(const WiFiClient& other) WiFiClient& ICACHE_FLASH_ATTR WiFiClient::operator=(const WiFiClient& other) { + if (_client) + _client->unref(); _client = other._client; if (_client) _client->ref(); diff --git a/libraries/ESP8266WiFi/src/include/ClientContext.h b/libraries/ESP8266WiFi/src/include/ClientContext.h index bc550f2b9..9c9c0dd1e 100644 --- a/libraries/ESP8266WiFi/src/include/ClientContext.h +++ b/libraries/ESP8266WiFi/src/include/ClientContext.h @@ -68,6 +68,7 @@ public: void ref() { ++_refcnt; + DEBUGV(":ref %d\r\n", _refcnt); } void unref()