From: Zbigniew Jędrzejewski-Szmek Date: Thu, 17 May 2018 09:09:07 +0000 (+0200) Subject: basic/journal-importer: escape & ellipsize bad data in log entries X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=226fcafbbecd2b988eb24b39a3e97c9cf24e1167;p=elogind.git basic/journal-importer: escape & ellipsize bad data in log entries 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. --- 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);