From 6fdc27ddae142b184b48987dd03277c8e386a6cb Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Tue, 13 Sep 2022 21:00:54 +0200 Subject: [PATCH] Replace sprintf by snprintf --- src/MqttHassPublishing.cpp | 2 +- src/MqttPublishing.cpp | 4 ++-- src/WebApi_devinfo.cpp | 2 +- src/WebApi_dtu.cpp | 2 +- src/WebApi_eventlog.cpp | 2 +- src/WebApi_inverter.cpp | 2 +- src/WebApi_limit.cpp | 2 +- src/WebApi_mqtt.cpp | 2 +- src/WebApi_sysstatus.cpp | 2 +- src/WebApi_ws_live.cpp | 6 +++--- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/MqttHassPublishing.cpp b/src/MqttHassPublishing.cpp index 0ddebce..c18829b 100644 --- a/src/MqttHassPublishing.cpp +++ b/src/MqttHassPublishing.cpp @@ -74,7 +74,7 @@ void MqttHassPublishingClass::publishField(std::shared_ptr inv } char serial[sizeof(uint64_t) * 8 + 1]; - sprintf(serial, "%0lx%08lx", + snprintf(serial, sizeof(serial), "%0lx%08lx", ((uint32_t)((inv->serial() >> 32) & 0xFFFFFFFF)), ((uint32_t)(inv->serial() & 0xFFFFFFFF))); diff --git a/src/MqttPublishing.cpp b/src/MqttPublishing.cpp index 1b67b35..b56a913 100644 --- a/src/MqttPublishing.cpp +++ b/src/MqttPublishing.cpp @@ -33,7 +33,7 @@ void MqttPublishingClass::loop() auto inv = Hoymiles.getInverterByPos(i); char buffer[sizeof(uint64_t) * 8 + 1]; - sprintf(buffer, "%0lx%08lx", + snprintf(buffer, sizeof(buffer), "%0lx%08lx", ((uint32_t)((inv->serial() >> 32) & 0xFFFFFFFF)), ((uint32_t)(inv->serial() & 0xFFFFFFFF))); String subtopic = String(buffer); @@ -102,7 +102,7 @@ String MqttPublishingClass::getTopic(std::shared_ptr inv, uint } char buffer[sizeof(uint64_t) * 8 + 1]; - sprintf(buffer, "%0lx%08lx", + snprintf(buffer, sizeof(buffer), "%0lx%08lx", ((uint32_t)((inv->serial() >> 32) & 0xFFFFFFFF)), ((uint32_t)(inv->serial() & 0xFFFFFFFF))); String invSerial = String(buffer); diff --git a/src/WebApi_devinfo.cpp b/src/WebApi_devinfo.cpp index 8022ecb..69afc56 100644 --- a/src/WebApi_devinfo.cpp +++ b/src/WebApi_devinfo.cpp @@ -31,7 +31,7 @@ void WebApiDevInfoClass::onDevInfoStatus(AsyncWebServerRequest* request) // Inverter Serial is read as HEX char buffer[sizeof(uint64_t) * 8 + 1]; - sprintf(buffer, "%0lx%08lx", + snprintf(buffer, sizeof(buffer), "%0lx%08lx", ((uint32_t)((inv->serial() >> 32) & 0xFFFFFFFF)), ((uint32_t)(inv->serial() & 0xFFFFFFFF))); diff --git a/src/WebApi_dtu.cpp b/src/WebApi_dtu.cpp index 68f8015..0da6cfd 100644 --- a/src/WebApi_dtu.cpp +++ b/src/WebApi_dtu.cpp @@ -30,7 +30,7 @@ void WebApiDtuClass::onDtuAdminGet(AsyncWebServerRequest* request) // DTU Serial is read as HEX char buffer[sizeof(uint64_t) * 8 + 1]; - sprintf(buffer, "%0lx%08lx", + snprintf(buffer, sizeof(buffer), "%0lx%08lx", ((uint32_t)((config.Dtu_Serial >> 32) & 0xFFFFFFFF)), ((uint32_t)(config.Dtu_Serial & 0xFFFFFFFF))); root[F("dtu_serial")] = buffer; diff --git a/src/WebApi_eventlog.cpp b/src/WebApi_eventlog.cpp index 948eb52..cdfc52c 100644 --- a/src/WebApi_eventlog.cpp +++ b/src/WebApi_eventlog.cpp @@ -37,7 +37,7 @@ void WebApiEventlogClass::onEventlogStatus(AsyncWebServerRequest* request) if (inv != nullptr) { // Inverter Serial is read as HEX char buffer[sizeof(uint64_t) * 8 + 1]; - sprintf(buffer, "%0lx%08lx", + snprintf(buffer, sizeof(buffer), "%0lx%08lx", ((uint32_t)((inv->serial() >> 32) & 0xFFFFFFFF)), ((uint32_t)(inv->serial() & 0xFFFFFFFF))); diff --git a/src/WebApi_inverter.cpp b/src/WebApi_inverter.cpp index 2206afe..9f74643 100644 --- a/src/WebApi_inverter.cpp +++ b/src/WebApi_inverter.cpp @@ -42,7 +42,7 @@ void WebApiInverterClass::onInverterList(AsyncWebServerRequest* request) // Inverter Serial is read as HEX char buffer[sizeof(uint64_t) * 8 + 1]; - sprintf(buffer, "%0lx%08lx", + snprintf(buffer, sizeof(buffer), "%0lx%08lx", ((uint32_t)((config.Inverter[i].Serial >> 32) & 0xFFFFFFFF)), ((uint32_t)(config.Inverter[i].Serial & 0xFFFFFFFF))); obj[F("serial")] = buffer; diff --git a/src/WebApi_limit.cpp b/src/WebApi_limit.cpp index 9180b18..ee1f958 100644 --- a/src/WebApi_limit.cpp +++ b/src/WebApi_limit.cpp @@ -30,7 +30,7 @@ void WebApiLimitClass::onLimitStatus(AsyncWebServerRequest* request) // Inverter Serial is read as HEX char buffer[sizeof(uint64_t) * 8 + 1]; - sprintf(buffer, "%0lx%08lx", + snprintf(buffer, sizeof(buffer), "%0lx%08lx", ((uint32_t)((inv->serial() >> 32) & 0xFFFFFFFF)), ((uint32_t)(inv->serial() & 0xFFFFFFFF))); diff --git a/src/WebApi_mqtt.cpp b/src/WebApi_mqtt.cpp index 840d778..5e0b543 100644 --- a/src/WebApi_mqtt.cpp +++ b/src/WebApi_mqtt.cpp @@ -278,7 +278,7 @@ String WebApiMqttClass::getRootCaCertInfo(const char* cert) mbedtls_x509_crt_init(&global_cacert); int ret = mbedtls_x509_crt_parse(&global_cacert, const_cast((unsigned char*)cert), 1 + strlen(cert)); if (ret < 0) { - sprintf(rootCaCertInfo, "Can't parse root ca: mbedtls_x509_crt_parse returned -0x%x\n\n", -ret); + snprintf(rootCaCertInfo, sizeof(rootCaCertInfo), "Can't parse root ca: mbedtls_x509_crt_parse returned -0x%x\n\n", -ret); mbedtls_x509_crt_free(&global_cacert); return ""; } diff --git a/src/WebApi_sysstatus.cpp b/src/WebApi_sysstatus.cpp index 61acaf9..dfb1e2a 100644 --- a/src/WebApi_sysstatus.cpp +++ b/src/WebApi_sysstatus.cpp @@ -58,7 +58,7 @@ void WebApiSysstatusClass::onSystemStatus(AsyncWebServerRequest* request) root[F("cfgsavecount")] = Configuration.get().Cfg_SaveCount; char version[16]; - sprintf(version, "%d.%d.%d", CONFIG_VERSION >> 24 & 0xff, CONFIG_VERSION >> 16 & 0xff, CONFIG_VERSION >> 8 & 0xff); + snprintf(version, sizeof(version), "%d.%d.%d", CONFIG_VERSION >> 24 & 0xff, CONFIG_VERSION >> 16 & 0xff, CONFIG_VERSION >> 8 & 0xff); root[F("firmware_version")] = version; root[F("git_hash")] = AUTO_GIT_HASH; diff --git a/src/WebApi_ws_live.cpp b/src/WebApi_ws_live.cpp index 2c38b87..30e3f4b 100644 --- a/src/WebApi_ws_live.cpp +++ b/src/WebApi_ws_live.cpp @@ -74,7 +74,7 @@ void WebApiWsLiveClass::generateJsonResponse(JsonVariant& root) auto inv = Hoymiles.getInverterByPos(i); char buffer[sizeof(uint64_t) * 8 + 1]; - sprintf(buffer, "%0lx%08lx", + snprintf(buffer, sizeof(buffer), "%0lx%08lx", ((uint32_t)((inv->serial() >> 32) & 0xFFFFFFFF)), ((uint32_t)(inv->serial() & 0xFFFFFFFF))); @@ -135,11 +135,11 @@ void WebApiWsLiveClass::onWebsocketEvent(AsyncWebSocket* server, AsyncWebSocketC { if (type == WS_EVT_CONNECT) { char str[64]; - sprintf(str, "Websocket: [%s][%u] connect", server->url(), client->id()); + snprintf(str, sizeof(str), "Websocket: [%s][%u] connect", server->url(), client->id()); Serial.println(str); } else if (type == WS_EVT_DISCONNECT) { char str[64]; - sprintf(str, "Websocket: [%s][%u] disconnect", server->url(), client->id()); + snprintf(str, sizeof(str), "Websocket: [%s][%u] disconnect", server->url(), client->id()); Serial.println(str); } }