Fix syslog output

payload does not appear to be reliably null terminated and leaks
data. Use size to the formatter to reliably terminate messages.
pull/1140/head
Mattias Jernberg 6 years ago
parent fd53472238
commit d969f8621d

@ -59,7 +59,8 @@ protected:
payload = msg.payload;
}
::syslog(syslog_prio_from_level(msg), "%s", payload.data());
int length = std::min<std::common_type<int, std::size_t>::type>(std::numeric_limits<int>::max(), payload.size());
::syslog(syslog_prio_from_level(msg), "%.*s", length, payload.data());
}
void flush_() override {}

Loading…
Cancel
Save