From: David Lawrence Ramsey Date: Wed, 5 Jan 2005 21:43:43 +0000 (+0000) Subject: really fix the memory corruption problem in display_string() X-Git-Tag: v1.3.6~163 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=6d594a9cbbd385181304a93068c78e0fe303b56f;p=nano.git 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 --- diff --git a/src/winio.c b/src/winio.c index df3d1791..a86f771d 100644 --- a/src/winio.c +++ b/src/winio.c @@ -2340,7 +2340,7 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool #endif } - while (index < alloc_len && buf[start_index] != '\0') { + while (index < alloc_len - 1 && buf[start_index] != '\0') { int wide_buf, wide_buf_len; #ifdef NANO_WIDE 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; } - if (index < alloc_len) + if (index < alloc_len - 1) converted[index] = '\0'; /* Make sure converted takes up no more than len columns. */