From 226fcafbbecd2b988eb24b39a3e97c9cf24e1167 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 17 May 2018 11:09:07 +0200 Subject: [PATCH] basic/journal-importer: escape & ellipsize bad data in log entries MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit We shouldn't just log arbitrary stuff, in particular newlines and control chars Now: Unknown dunder line __CURSORFACILITY=6\nSYSLOG_IDENTIFIER=/USR/SBIN/CRON\nMES…, ignoring. Unknown dunder line __REALTIME_TIME[TAMP=1404101101501874\n__MONOTONIC_TIMEST…, ignoring. --- src/basic/string-util.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/basic/string-util.h b/src/basic/string-util.h index 99b515569..7ee9aef70 100644 --- a/src/basic/string-util.h +++ b/src/basic/string-util.h @@ -167,6 +167,9 @@ char *ellipsize_mem(const char *s, size_t old_length_bytes, size_t new_length_co char *ellipsize(const char *s, size_t length, unsigned percent); char *cellescape(char *buf, size_t len, const char *s); +/* This limit is arbitrary, enough to give some idea what the string contains */ +#define CELLESCAPE_DEFAULT_LENGTH 64 + bool nulstr_contains(const char *nulstr, const char *needle); char* strshorten(char *s, size_t l); -- 2.30.2