upleb.uk

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

summaryrefslogtreecommitdiff
path: root/main/tollgate_api.c
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-05-18 19:55:33 +0530
committerYour Name <you@example.com>2026-05-18 19:55:33 +0530
commit65b4c9dc8626757f5f7cda279881b059e926916c (patch)
tree7f41d7faf5cd3bd86344eda056fc56269b646225 /main/tollgate_api.c
parent78d0c3795e9a90a9f99178e38346a53d9b2ebe57 (diff)
fix: divide-by-zero crash when no WiFi networks configured
- Guard tollgate_config_get_next_wifi against network_count=0 - Add fallback parsing for wifi_ssid/wifi_password flat fields - Add heap info to API server failure log for debugging - All 75 unit tests passing
Diffstat (limited to 'main/tollgate_api.c')
-rw-r--r--main/tollgate_api.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/main/tollgate_api.c b/main/tollgate_api.c
index 22b30ee..997dd09 100644
--- a/main/tollgate_api.c
+++ b/main/tollgate_api.c
@@ -6,6 +6,7 @@
6#include "nucula_wallet.h" 6#include "nucula_wallet.h"
7#include "mint_health.h" 7#include "mint_health.h"
8#include "esp_log.h" 8#include "esp_log.h"
9#include "esp_system.h"
9#include "cJSON.h" 10#include "cJSON.h"
10#include "lwip/sockets.h" 11#include "lwip/sockets.h"
11#include "lwip/netdb.h" 12#include "lwip/netdb.h"
@@ -524,7 +525,8 @@ esp_err_t tollgate_api_start(void)
524 525
525 esp_err_t ret = httpd_start(&s_api_server, &config); 526 esp_err_t ret = httpd_start(&s_api_server, &config);
526 if (ret != ESP_OK) { 527 if (ret != ESP_OK) {
527 ESP_LOGE(TAG, "Failed to start API server: %s", esp_err_to_name(ret)); 528 ESP_LOGE(TAG, "Failed to start API server: %s (heap: %lu)", esp_err_to_name(ret), (unsigned long)esp_get_free_heap_size());
529 s_api_server = NULL;
528 return ret; 530 return ret;
529 } 531 }
530 532