From 6b1a06f1f78c592d2dd77f39c456361c44361678 Mon Sep 17 00:00:00 2001 From: Th3maz1ng Date: Tue, 29 Mar 2022 23:18:43 +0200 Subject: [PATCH] Corrected a bad array index overflow in the apiTesterApi function :( --- src/app/webApi.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/app/webApi.cpp b/src/app/webApi.cpp index f0413d1..f782102 100644 --- a/src/app/webApi.cpp +++ b/src/app/webApi.cpp @@ -4,7 +4,9 @@ boolean apiTesterApi(WEBServer::HttpRequestData &HRD, WiFiClient* wc, void* pData) { - char buffer[100]; + (void)HRD; + (void)pData; + char buffer[200]; WEBServer::injectApiHeader(buffer, "application/json", "{\"status\":\"ok\",\"API\":\"available\"}"); wc->print(buffer); @@ -36,12 +38,13 @@ boolean viewByUIDApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, boolean nextViewApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { + (void)HRD; SAB *p = (SAB *)pData; char buffer[200]; p->getScreenManager().displayNextView(); - if(p->getScreenManager().getError() == OK) + if(p->getScreenManager().getError() == ScreenManager::OK) sprintf(buffer, "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{\"status\":\"ok\",\"ViewUID\":\"%d\"}", p->getScreenManager().getCurrentViewUID()); else sprintf(buffer, "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{\"status\":\"failed\",\"message\":\"%s\"}", p->getScreenManager().getErrorMessage()); @@ -51,6 +54,7 @@ boolean nextViewApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, boolean reloadViewApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { + (void)HRD; SAB *p = (SAB *)pData; char buffer[200]; @@ -65,6 +69,7 @@ boolean reloadViewApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc boolean rtcGetTimeApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { + (void)HRD; SAB *p = (SAB *)pData; char buffer[200]; DateTime d = p->getRtcManager().getDateTime(); @@ -195,6 +200,7 @@ boolean espResetApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, boolean sdCardSizeApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { + (void)HRD; SAB *p = (SAB *)pData; char buffer[200]; double size = p->getSdCardManager().getSize(GBYTE); @@ -209,6 +215,7 @@ boolean sdCardSizeApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc boolean staWifiInfoApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { + (void)HRD; SAB *p = (SAB *)pData; char buffer[300]; IPAddress IP = p->getConnectivityManager().localIP(); @@ -236,6 +243,8 @@ boolean staWifiInfoApi(WEBServer::HttpRequestData &HRD, WiFiClient *w boolean apScannerApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { + (void)HRD; + (void)pData; uint8_t number = WiFi.scanNetworks(); wc->print("HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n["); @@ -250,6 +259,7 @@ boolean apScannerApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, boolean systemInfoApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { + (void)HRD; SAB *p = (SAB *)pData; char buffer[300]; uint32_t freeMem; @@ -267,6 +277,7 @@ boolean systemInfoApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc boolean powerInfoApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { + (void)HRD; SAB *p = (SAB *)pData; char buffer[300]; PowerManager::PowerInfo pi = p->getPowerManager().getPowerInfo();