really fix the memory corruption problem in display_string()

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2239 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
David Lawrence Ramsey 2005-01-05 21:43:43 +00:00
parent 9ac20c85b0
commit 6d594a9cbb
1 changed files with 2 additions and 2 deletions

View File

@ -2340,7 +2340,7 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool
#endif #endif
} }
while (index < alloc_len && buf[start_index] != '\0') { while (index < alloc_len - 1 && buf[start_index] != '\0') {
int wide_buf, wide_buf_len; int wide_buf, wide_buf_len;
#ifdef NANO_WIDE #ifdef NANO_WIDE
bool bad_char; bool bad_char;
@ -2449,7 +2449,7 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool
start_index += wide_buf_len; start_index += wide_buf_len;
} }
if (index < alloc_len) if (index < alloc_len - 1)
converted[index] = '\0'; converted[index] = '\0';
/* Make sure converted takes up no more than len columns. */ /* Make sure converted takes up no more than len columns. */