mirror of
https://github.com/systemd/systemd.git
synced 2024-11-05 06:52:22 +03:00
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.
This commit is contained in:
parent
cba6e0627d
commit
b61a4660fc
@ -228,7 +228,7 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns,
|
|||||||
} else if ((flags & OUTPUT_FULL_WIDTH) ||
|
} else if ((flags & OUTPUT_FULL_WIDTH) ||
|
||||||
(message_len + n < n_columns))
|
(message_len + n < n_columns))
|
||||||
printf(": %.*s\n", (int) message_len, message);
|
printf(": %.*s\n", (int) message_len, message);
|
||||||
else if (n < n_columns) {
|
else if (n < n_columns && n_columns - n - 2 >= 3) {
|
||||||
char *e;
|
char *e;
|
||||||
|
|
||||||
e = ellipsize_mem(message, message_len, n_columns - n - 2, 90);
|
e = ellipsize_mem(message, message_len, n_columns - n - 2, 90);
|
||||||
|
Loading…
Reference in New Issue
Block a user