From 532f5e6819faadb394a0dfa6999ab80044ec7c69 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Wed, 22 Aug 2018 18:20:34 +0200 Subject: Normalize syslog message line endings Most syslog messages have a line feed at the end, but some don't. This patch removes trailing spaces from all syslog messages that have one and always adds a line feed in the logging back end. Signed-off-by: David Oberhollenzer --- syslogd/proto.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'syslogd/proto.c') diff --git a/syslogd/proto.c b/syslogd/proto.c index 0851ced..4ab2f47 100644 --- a/syslogd/proto.c +++ b/syslogd/proto.c @@ -132,6 +132,7 @@ int syslog_msg_parse(syslog_msg_t *msg, char *str) struct tm tstamp; pid_t pid = 0; int priority; + size_t len; memset(msg, 0, sizeof(*msg)); @@ -177,6 +178,11 @@ int syslog_msg_parse(syslog_msg_t *msg, char *str) msg->ident = ident; msg->message = str; + len = strlen(str); + while (len > 0 && isspace(str[len - 1])) + --len; + str[len] = '\0'; + if (ident != NULL) { for (ptr = ident; *ptr != '\0'; ++ptr) { if (!isalnum(*ptr)) -- cgit v1.2.3