kopia lustrzana https://github.com/meshtastic/firmware
Ensure incoming hostMetrics userstring is null terminated (#7068)
* Ensure incoming hostMetrics userstring is null terminated * Only null terminate user_string when has_user_string is truepull/7073/head
rodzic
89a4589b68
commit
5e92145324
|
|
@ -29,6 +29,8 @@ bool HostMetricsModule::handleReceivedProtobuf(const meshtastic_MeshPacket &mp,
|
||||||
if (t->which_variant == meshtastic_Telemetry_host_metrics_tag) {
|
if (t->which_variant == meshtastic_Telemetry_host_metrics_tag) {
|
||||||
#ifdef DEBUG_PORT
|
#ifdef DEBUG_PORT
|
||||||
const char *sender = getSenderShortName(mp);
|
const char *sender = getSenderShortName(mp);
|
||||||
|
if (t->variant.host_metrics.has_user_string)
|
||||||
|
t->variant.host_metrics.user_string[sizeof(t->variant.host_metrics.user_string) - 1] = '\0';
|
||||||
|
|
||||||
LOG_INFO("(Received Host Metrics from %s): uptime=%u, diskfree=%lu, memory free=%lu, load=%04.2f, %04.2f, %04.2f, %s",
|
LOG_INFO("(Received Host Metrics from %s): uptime=%u, diskfree=%lu, memory free=%lu, load=%04.2f, %04.2f, %04.2f, %s",
|
||||||
sender, t->variant.host_metrics.uptime_seconds, t->variant.host_metrics.diskfree1_bytes,
|
sender, t->variant.host_metrics.uptime_seconds, t->variant.host_metrics.diskfree1_bytes,
|
||||||
|
|
@ -112,7 +114,7 @@ meshtastic_Telemetry HostMetricsModule::getHostMetrics()
|
||||||
std::string userCommandResult = exec(settingsStrings[hostMetrics_user_command].c_str());
|
std::string userCommandResult = exec(settingsStrings[hostMetrics_user_command].c_str());
|
||||||
if (userCommandResult.length() > 1) {
|
if (userCommandResult.length() > 1) {
|
||||||
strncpy(t.variant.host_metrics.user_string, userCommandResult.c_str(), sizeof(t.variant.host_metrics.user_string));
|
strncpy(t.variant.host_metrics.user_string, userCommandResult.c_str(), sizeof(t.variant.host_metrics.user_string));
|
||||||
t.variant.host_metrics.user_string[ sizeof(t.variant.host_metrics.user_string) - 1] = '\0';
|
t.variant.host_metrics.user_string[sizeof(t.variant.host_metrics.user_string) - 1] = '\0';
|
||||||
t.variant.host_metrics.has_user_string = true;
|
t.variant.host_metrics.has_user_string = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Ładowanie…
Reference in New Issue