Skip to content

Commit d01bdb8

Browse files
committed
WiFi: fix memory leak on multiple scan()
1 parent e18f59a commit d01bdb8

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

libraries/WiFi/src/WiFi.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ static uint8_t sec2enum(nsapi_security_t sec)
8282

8383
int8_t arduino::WiFiClass::scanNetworks() {
8484
uint8_t count = 10;
85-
ap_list = new WiFiAccessPoint[count];
85+
if (ap_list == NULL) {
86+
ap_list = new WiFiAccessPoint[count];
87+
}
8688
return wifi_if->scan(ap_list, count);
8789
}
8890

libraries/WiFi/src/WiFi.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ class WiFiClass
283283
char* _ssid;
284284
WiFiInterface* wifi_if;
285285
voidPrtFuncPtr cb;
286-
WiFiAccessPoint* ap_list;
286+
WiFiAccessPoint* ap_list = NULL;
287287
uint8_t connected_ap;
288288
};
289289

0 commit comments

Comments
 (0)