summaryrefslogtreecommitdiff
path: root/misc/tst-syslog.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-09-05 09:34:39 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-09-05 09:34:39 -0300
commit45459476ecc8fe315734912baf7adf3551cff640 (patch)
tree11430ea1a915b928dd5a5d6b9311c6cdb90de47e /misc/tst-syslog.c
parent930993921f2f381b545ea1b1f2d9c534b2b72b08 (diff)
downloadglibc-45459476ecc8fe315734912baf7adf3551cff640.tar.gz
syslog: Remove extra whitespace between timestamp and message (BZ#29544)
The rfc3164 clear states that a single space character must follow the timestamp field. Checked on x86_64-linux-gnu.
Diffstat (limited to 'misc/tst-syslog.c')
-rw-r--r--misc/tst-syslog.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/misc/tst-syslog.c b/misc/tst-syslog.c
index 1d332ece53..3560b518a2 100644
--- a/misc/tst-syslog.c
+++ b/misc/tst-syslog.c
@@ -275,16 +275,19 @@ parse_syslog_msg (const char *msg)
{
struct msg_t r = { .pid = -1 };
int number;
+ int wsb, wsa;
#define STRINPUT(size) XSTRINPUT(size)
#define XSTRINPUT(size) "%" # size "s"
/* The message in the form:
- <179>Apr 8 14:51:19 tst-syslog: message 176 3 */
- int n = sscanf (msg, "<%3d>%*s %*d %*d:%*d:%*d " STRINPUT(IDENT_LENGTH)
+ <179>Apr 8 14:51:19 tst-syslog: message 176 3 */
+ int n = sscanf (msg, "<%3d>%*s %*d %*d:%*d:%*d%n %n" STRINPUT(IDENT_LENGTH)
" " STRINPUT(MSG_LENGTH) " %*d %*d",
- &number, r.ident, r.msg);
+ &number, &wsb, &wsa, r.ident, r.msg);
TEST_COMPARE (n, 3);
+ /* It should only one space between timestamp and message. */
+ TEST_COMPARE (wsa - wsb, 1);
r.facility = number & LOG_FACMASK;
r.priority = number & LOG_PRIMASK;