From 6d594a9cbbd385181304a93068c78e0fe303b56f Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Wed, 5 Jan 2005 21:43:43 +0000
Subject: [PATCH] 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
---
 src/winio.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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. */
-- 
GitLab