Re: [PATCH] logger: remove trailing spaces when outputing to journal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 18 Jul 2016, Sami Kerola wrote:

> Signed-off-by: Sami Kerola <kerolasa@xxxxxx>

Hi Sami, no repeat 100 time: do not send patches before testing them.

Let me try again, and also available from

https://github.com/kerolasa/lelux-utiliteetit/commit/076ce184fea4591bd364d77474fcfffdcad73a5b

--->8----
From: Sami Kerola <kerolasa@xxxxxx>
Date: Mon, 18 Jul 2016 21:15:54 +0100
Subject: [PATCH] logger: remove trailing spaces when outputing to journal

Issues:
1. Whitespace-ish \r is not stripped, while it should be.
2. In journal \r is considered unprintable.

Lennart: "it is the duty of the client side to drop the trailing whitespace,
which "logger" doesn't do".

Reported-by: Ivan Babrou <ibobrik@xxxxxxxxx>
Explained-by: Lennart Poettering <lennart@xxxxxxxxxxxxxx>
Reference: https://github.com/systemd/systemd/issues/3416
Signed-off-by: Sami Kerola <kerolasa@xxxxxx>
---
 misc-utils/logger.c            | 7 ++-----
 tests/expected/logger/journald | 1 -
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/misc-utils/logger.c b/misc-utils/logger.c
index 9f2940c..70fac68 100644
--- a/misc-utils/logger.c
+++ b/misc-utils/logger.c
@@ -341,14 +341,11 @@ static int journald_entry(struct logger_ctl *ctl, FILE *fp)
 	for (lines = 0; /* nothing */ ; lines++) {
 		buf = NULL;
 		sz = getline(&buf, &dummy, fp);
-		if (sz == -1) {
+		if (sz == -1 ||
+		   (sz = rtrim_whitespace((unsigned char *) buf)) == 0) {
 			free(buf);
 			break;
 		}
-		if (0 < sz && buf[sz - 1] == '\n') {
-			sz--;
-			buf[sz] = '\0';
-		}
 		if (lines == vectors) {
 			vectors *= 2;
 			if (IOV_MAX < vectors)
diff --git a/tests/expected/logger/journald b/tests/expected/logger/journald
index 75bd0f3..354628d 100644
--- a/tests/expected/logger/journald
+++ b/tests/expected/logger/journald
@@ -1,4 +1,3 @@
 MESSAGE_ID=b8f74e14bc714bfc8040a5106dc9376a
 MESSAGE=a b c 1 2 3
-
 ret: 0
-- 
2.9.0

--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux