diff --git a/ChangeLog b/ChangeLog index 82c2db5eb986e8c92f6f12f71f6e48e4887e2131..a777f9a0a505df1d96712c671ce24e8723a9dcc3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -51,6 +51,10 @@ CVS code - - help.c: do_help() - Simplify screen update handling and exiting. (DLR) +- winio.c: + display_string() + - Properly handle buf[start_index]'s being a null terminator. + (DLR) - doc/syntax/c.nanorc: - Since .i and .ii are preprocessed C and C++ output, colorize them here. (Mike Frysinger) diff --git a/src/winio.c b/src/winio.c index a95be19b70905cef03a999daa8e4bceb2e5edcfe..a19e1008f9b5297e0b7995dcc6db1cbf0cd77730 100644 --- a/src/winio.c +++ b/src/winio.c @@ -1809,8 +1809,8 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool index = 0; - if (buf[start_index] != '\t' && (column < start_col || (dollars && - column > 0))) { + if (buf[start_index] != '\0' && buf[start_index] != '\t' && + (column < start_col || (dollars && column > 0))) { /* We don't display all of buf[start_index] since it starts to * the left of the screen. */ buf_mb_len = parse_mbchar(buf + start_index, buf_mb, NULL);