Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit d846311

Browse filesBrowse files
authored
fix(scan): Make sure that we do not leak memory if reading the APs fails (espressif#10312)
As it was written, it was possible to leak the scan result array if esp_wifi_scan_get_ap_records() failed. Change will ensure that the array is deleted in that case.
1 parent 2c4ce95 commit d846311
Copy full SHA for d846311

File tree

Expand file treeCollapse file tree

1 file changed

+5
-1
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+5
-1
lines changed

‎libraries/WiFi/src/WiFiScan.cpp

Copy file name to clipboardExpand all lines: libraries/WiFi/src/WiFiScan.cpp
+5-1Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,11 @@ void WiFiScanClass::_scanDone() {
119119
esp_wifi_scan_get_ap_num(&(WiFiScanClass::_scanCount));
120120
if (WiFiScanClass::_scanCount) {
121121
WiFiScanClass::_scanResult = new wifi_ap_record_t[WiFiScanClass::_scanCount];
122-
if (!WiFiScanClass::_scanResult || esp_wifi_scan_get_ap_records(&(WiFiScanClass::_scanCount), (wifi_ap_record_t *)_scanResult) != ESP_OK) {
122+
if (!WiFiScanClass::_scanResult) {
123+
WiFiScanClass::_scanCount = 0;
124+
} else if (esp_wifi_scan_get_ap_records(&(WiFiScanClass::_scanCount), (wifi_ap_record_t *)_scanResult) != ESP_OK) {
125+
delete[] reinterpret_cast<wifi_ap_record_t *>(WiFiScanClass::_scanResult);
126+
WiFiScanClass::_scanResult = 0;
123127
WiFiScanClass::_scanCount = 0;
124128
}
125129
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.