wifi_prov_mgr: Added check for passphrase length in softAP scheme

Closes https://github.com/espressif/esp-idf/issues/8063
This commit is contained in:
Laukik Hase
2021-12-27 10:36:56 +05:30
parent 7467c68a17
commit cc5e2107bb
2 changed files with 7 additions and 1 deletions

View File

@@ -182,10 +182,15 @@ static esp_err_t set_config_service(void *config, const char *service_name, cons
} }
wifi_prov_softap_config_t *softap_config = (wifi_prov_softap_config_t *) config; wifi_prov_softap_config_t *softap_config = (wifi_prov_softap_config_t *) config;
strlcpy(softap_config->ssid, service_name, sizeof(softap_config->ssid));
if (service_key) { if (service_key) {
const int service_key_len = strlen(service_key);
if (service_key_len < 8 || service_key_len >= sizeof(softap_config->password)) {
ESP_LOGE(TAG, "Incorrect passphrase length for softAP: %d (Expected: Min - 8, Max - 64)", service_key_len);
return ESP_ERR_INVALID_ARG;
}
strlcpy(softap_config->password, service_key, sizeof(softap_config->password)); strlcpy(softap_config->password, service_key, sizeof(softap_config->password));
} }
strlcpy(softap_config->ssid, service_name, sizeof(softap_config->ssid));
return ESP_OK; return ESP_OK;
} }

View File

@@ -261,6 +261,7 @@ void app_main(void)
/* What is the service key (could be NULL) /* What is the service key (could be NULL)
* This translates to : * This translates to :
* - Wi-Fi password when scheme is wifi_prov_scheme_softap * - Wi-Fi password when scheme is wifi_prov_scheme_softap
* (Minimum expected length: 8, maximum 64 for WPA2-PSK)
* - simply ignored when scheme is wifi_prov_scheme_ble * - simply ignored when scheme is wifi_prov_scheme_ble
*/ */
const char *service_key = NULL; const char *service_key = NULL;