summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-19 21:12:16 +0000
committerLennart Poettering <lennart@poettering.net>2012-07-20 00:12:30 +0200
commitb61a4660fcfb76f062c081110fb18424b0bb7b23 (patch)
treeae815e3dfb4525739a4fc903df9ca795c278a332 /src/shared
parentcba6e0627d659a33df31aaa74d0d701c4bc9f317 (diff)
journalctl: fix assertion failure in ellipsize_mem()
When showing the journal through "journalctl --no-pager", if the prefix of the log message (i.e. the date and syslog identifier) is less than 3 characters shorter than the width of the terminal, you get: Assertion 'new_length >= 3' failed at src/shared/util.c:3859, function ellipsize_mem(). Aborting. because there is not enough space for the "...". This patch add the necessary check.
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/logs-show.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
index 43e42f7880..a68cd3de57 100644
--- a/src/shared/logs-show.c
+++ b/src/shared/logs-show.c
@@ -228,7 +228,7 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns,
} else if ((flags & OUTPUT_FULL_WIDTH) ||
(message_len + n < n_columns))
printf(": %.*s\n", (int) message_len, message);
- else if (n < n_columns) {
+ else if (n < n_columns && n_columns - n - 2 >= 3) {
char *e;
e = ellipsize_mem(message, message_len, n_columns - n - 2, 90);