upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/main/config.c
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-05-18 23:36:29 +0530
committerYour Name <you@example.com>2026-05-18 23:36:29 +0530
commit9ff7cffcff11237288cfddecee2684f499d23ddf (patch)
tree18d8453ef76fd8e47b44dcef9248417e778708a5 /main/config.c
parent46e7dabaf80333ca045061ff480377a4186e5deb (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.c1
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
295esp_err_t tollgate_config_get_next_wifi(wifi_config_t *wifi_config) 295esp_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}