Skip to content

Commit dd94fbc

Browse files
Sanitize provisioning WiFi network credentials
1 parent 9614907 commit dd94fbc

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

src/platform/silabs/NetworkCommissioningWiFiDriver.cpp

+10-1
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,19 @@ CHIP_ERROR SlWiFiDriver::ConnectWiFiNetwork(const char * ssid, uint8_t ssidLen,
147147
}
148148
}
149149
ReturnErrorOnFailure(ConnectivityMgr().SetWiFiStationMode(ConnectivityManager::kWiFiStationMode_Disabled));
150+
150151
// Set the wifi configuration
151-
wfx_wifi_provision_t wifiConfig = {};
152+
wfx_wifi_provision_t wifiConfig;
153+
memset(&wifiConfig, 0, sizeof(wifiConfig));
154+
155+
VerifyOrReturnError(ssidLen <= WFX_MAX_SSID_LENGTH, CHIP_ERROR_BUFFER_TOO_SMALL);
152156
memcpy(wifiConfig.ssid, ssid, ssidLen);
157+
wifiConfig.ssid_length = ssidLen;
158+
159+
VerifyOrReturnError(keyLen < WFX_MAX_PASSKEY_LENGTH, CHIP_ERROR_BUFFER_TOO_SMALL);
153160
memcpy(wifiConfig.passkey, key, keyLen);
161+
wifiConfig.passkey_length = keyLen;
162+
154163
wifiConfig.security = WFX_SEC_WPA2;
155164

156165
ChipLogProgress(NetworkProvisioning, "Setting up connection for WiFi SSID: %.*s", static_cast<int>(ssidLen), ssid);

src/platform/silabs/SiWx917/wifi/wfx_host_events.h

+2
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,9 @@ typedef enum
159159
typedef struct
160160
{
161161
char ssid[WFX_MAX_SSID_LENGTH + 1];
162+
size_t ssid_length;
162163
char passkey[WFX_MAX_PASSKEY_LENGTH + 1];
164+
size_t passkey_length;
163165
wfx_sec_t security;
164166
} wfx_wifi_provision_t;
165167

src/platform/silabs/efr32/wifi/wfx_host_events.h

+2
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,9 @@ typedef enum
254254
typedef struct
255255
{
256256
char ssid[WFX_MAX_SSID_LENGTH + 1];
257+
size_t ssid_length;
257258
char passkey[WFX_MAX_PASSKEY_LENGTH + 1];
259+
size_t passkey_length;
258260
wfx_sec_t security;
259261
} wfx_wifi_provision_t;
260262

0 commit comments

Comments
 (0)