Closed
Description
I noticed a strange output when scanning networks and outputting the list. It happens when there is a network present with an SSID of 32 characters long (the maximum SSID length).
The output of the included MCVE sketch is below - note item 6 with three strange characters before the comma:
SDK:3.0.0-dev(c0f7b44)/Core:2.5.0=20500000/lwIP:STABLE-2_1_2_RELEASE/glue:1.1/BearSSL:6778687
mode : sta + softAP
add if0
scandone
1: , Ch:1 (-53dBm) hidden
2: NetworkProvidersInc, Ch:1 (-52dBm)
3: CBCI-0D1E-2.4, Ch:1 (-71dBm)
4: TEST-STA, Ch:1 (-45dBm)
5: PA, Ch:1 (-46dBm)
6: 15167f140275ad599442f0385758d2fc �⸮, Ch:1 (-50dBm)
7: DIRECT-0A-HP OfficeJet Pro 8740, Ch:1 (-76dBm)
8: PoodleBall, Ch:1 (-80dBm)
9: DIRECT-D3F52C6E, Ch:6 (-71dBm)
10: NETGEAR57, Ch:6 (-45dBm)
11: CBCI-8F08, Ch:6 (-35dBm)
Sketch:
#include <ESP8266WiFi.h>
void setup() {
Serial.begin(115200);
// put your setup code here, to run once:
int n = WiFi.scanNetworks(false, true);
String ssid;
uint8_t encryptionType;
int32_t RSSI;
uint8_t* BSSID;
int32_t channel;
bool isHidden;
for (int i = 0; i < n; i++)
{
WiFi.getNetworkInfo(i, ssid, encryptionType, RSSI, BSSID, channel, isHidden);
Serial.printf("%d: %s, Ch:%d (%ddBm) %s %s\n", i + 1, ssid.c_str(), channel, RSSI, encryptionType == ENC_TYPE_NONE ? "open" : "", isHidden ? "hidden" : "");
}
}
void loop() {
// put your main code here, to run repeatedly:
}
Since this looks like a buffer overflow, I thought it was important to point it out!