diff options
| author | Your Name <you@example.com> | 2026-05-18 23:36:29 +0530 |
|---|---|---|
| committer | Your Name <you@example.com> | 2026-05-18 23:36:29 +0530 |
| commit | 9ff7cffcff11237288cfddecee2684f499d23ddf (patch) | |
| tree | 18d8453ef76fd8e47b44dcef9248417e778708a5 /main/config.c | |
| parent | 46e7dabaf80333ca045061ff480377a4186e5deb (diff) | |
fix: prevent IntegerDivideByZero in config_get_next_wifi when no networks
- Check network_count == 0 before modulo operation
- Disconnect STA before WiFi scan to avoid 'STA is connecting, scan not allowed'
- Add error handling for failed WiFi scans
- This fixes the crash/restart loop on Board C with no configured WiFi
Diffstat (limited to 'main/config.c')
| -rw-r--r-- | main/config.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/main/config.c b/main/config.c index 32ae30e..b5de68e 100644 --- a/main/config.c +++ b/main/config.c | |||
| @@ -294,6 +294,7 @@ esp_err_t tollgate_config_get_wifi(wifi_config_t *wifi_config) | |||
| 294 | 294 | ||
| 295 | esp_err_t tollgate_config_get_next_wifi(wifi_config_t *wifi_config) | 295 | esp_err_t tollgate_config_get_next_wifi(wifi_config_t *wifi_config) |
| 296 | { | 296 | { |
| 297 | if (g_config.network_count == 0) return ESP_ERR_NOT_FOUND; | ||
| 297 | g_config.current_network = (g_config.current_network + 1) % g_config.network_count; | 298 | g_config.current_network = (g_config.current_network + 1) % g_config.network_count; |
| 298 | return tollgate_config_get_wifi(wifi_config); | 299 | return tollgate_config_get_wifi(wifi_config); |
| 299 | } | 300 | } |