Replace sprintf by snprintf

This commit is contained in:
Thomas Basler 2022-09-13 21:00:54 +02:00
parent cb00537284
commit 6fdc27ddae
10 changed files with 13 additions and 13 deletions

View File

@ -74,7 +74,7 @@ void MqttHassPublishingClass::publishField(std::shared_ptr<InverterAbstract> inv
} }
char serial[sizeof(uint64_t) * 8 + 1]; 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() >> 32) & 0xFFFFFFFF)),
((uint32_t)(inv->serial() & 0xFFFFFFFF))); ((uint32_t)(inv->serial() & 0xFFFFFFFF)));

View File

@ -33,7 +33,7 @@ void MqttPublishingClass::loop()
auto inv = Hoymiles.getInverterByPos(i); auto inv = Hoymiles.getInverterByPos(i);
char buffer[sizeof(uint64_t) * 8 + 1]; 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() >> 32) & 0xFFFFFFFF)),
((uint32_t)(inv->serial() & 0xFFFFFFFF))); ((uint32_t)(inv->serial() & 0xFFFFFFFF)));
String subtopic = String(buffer); String subtopic = String(buffer);
@ -102,7 +102,7 @@ String MqttPublishingClass::getTopic(std::shared_ptr<InverterAbstract> inv, uint
} }
char buffer[sizeof(uint64_t) * 8 + 1]; 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() >> 32) & 0xFFFFFFFF)),
((uint32_t)(inv->serial() & 0xFFFFFFFF))); ((uint32_t)(inv->serial() & 0xFFFFFFFF)));
String invSerial = String(buffer); String invSerial = String(buffer);

View File

@ -31,7 +31,7 @@ void WebApiDevInfoClass::onDevInfoStatus(AsyncWebServerRequest* request)
// Inverter Serial is read as HEX // Inverter Serial is read as HEX
char buffer[sizeof(uint64_t) * 8 + 1]; 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() >> 32) & 0xFFFFFFFF)),
((uint32_t)(inv->serial() & 0xFFFFFFFF))); ((uint32_t)(inv->serial() & 0xFFFFFFFF)));

View File

@ -30,7 +30,7 @@ void WebApiDtuClass::onDtuAdminGet(AsyncWebServerRequest* request)
// DTU Serial is read as HEX // DTU Serial is read as HEX
char buffer[sizeof(uint64_t) * 8 + 1]; 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 >> 32) & 0xFFFFFFFF)),
((uint32_t)(config.Dtu_Serial & 0xFFFFFFFF))); ((uint32_t)(config.Dtu_Serial & 0xFFFFFFFF)));
root[F("dtu_serial")] = buffer; root[F("dtu_serial")] = buffer;

View File

@ -37,7 +37,7 @@ void WebApiEventlogClass::onEventlogStatus(AsyncWebServerRequest* request)
if (inv != nullptr) { if (inv != nullptr) {
// Inverter Serial is read as HEX // Inverter Serial is read as HEX
char buffer[sizeof(uint64_t) * 8 + 1]; 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() >> 32) & 0xFFFFFFFF)),
((uint32_t)(inv->serial() & 0xFFFFFFFF))); ((uint32_t)(inv->serial() & 0xFFFFFFFF)));

View File

@ -42,7 +42,7 @@ void WebApiInverterClass::onInverterList(AsyncWebServerRequest* request)
// Inverter Serial is read as HEX // Inverter Serial is read as HEX
char buffer[sizeof(uint64_t) * 8 + 1]; 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 >> 32) & 0xFFFFFFFF)),
((uint32_t)(config.Inverter[i].Serial & 0xFFFFFFFF))); ((uint32_t)(config.Inverter[i].Serial & 0xFFFFFFFF)));
obj[F("serial")] = buffer; obj[F("serial")] = buffer;

View File

@ -30,7 +30,7 @@ void WebApiLimitClass::onLimitStatus(AsyncWebServerRequest* request)
// Inverter Serial is read as HEX // Inverter Serial is read as HEX
char buffer[sizeof(uint64_t) * 8 + 1]; 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() >> 32) & 0xFFFFFFFF)),
((uint32_t)(inv->serial() & 0xFFFFFFFF))); ((uint32_t)(inv->serial() & 0xFFFFFFFF)));

View File

@ -278,7 +278,7 @@ String WebApiMqttClass::getRootCaCertInfo(const char* cert)
mbedtls_x509_crt_init(&global_cacert); mbedtls_x509_crt_init(&global_cacert);
int ret = mbedtls_x509_crt_parse(&global_cacert, const_cast<unsigned char*>((unsigned char*)cert), 1 + strlen(cert)); int ret = mbedtls_x509_crt_parse(&global_cacert, const_cast<unsigned char*>((unsigned char*)cert), 1 + strlen(cert));
if (ret < 0) { 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); mbedtls_x509_crt_free(&global_cacert);
return ""; return "";
} }

View File

@ -58,7 +58,7 @@ void WebApiSysstatusClass::onSystemStatus(AsyncWebServerRequest* request)
root[F("cfgsavecount")] = Configuration.get().Cfg_SaveCount; root[F("cfgsavecount")] = Configuration.get().Cfg_SaveCount;
char version[16]; 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("firmware_version")] = version;
root[F("git_hash")] = AUTO_GIT_HASH; root[F("git_hash")] = AUTO_GIT_HASH;

View File

@ -74,7 +74,7 @@ void WebApiWsLiveClass::generateJsonResponse(JsonVariant& root)
auto inv = Hoymiles.getInverterByPos(i); auto inv = Hoymiles.getInverterByPos(i);
char buffer[sizeof(uint64_t) * 8 + 1]; 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() >> 32) & 0xFFFFFFFF)),
((uint32_t)(inv->serial() & 0xFFFFFFFF))); ((uint32_t)(inv->serial() & 0xFFFFFFFF)));
@ -135,11 +135,11 @@ void WebApiWsLiveClass::onWebsocketEvent(AsyncWebSocket* server, AsyncWebSocketC
{ {
if (type == WS_EVT_CONNECT) { if (type == WS_EVT_CONNECT) {
char str[64]; 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); Serial.println(str);
} else if (type == WS_EVT_DISCONNECT) { } else if (type == WS_EVT_DISCONNECT) {
char str[64]; 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); Serial.println(str);
} }
} }