From c109549a7e46f87e46c9e89d0ababa8c3ab08f8c Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Sat, 27 Nov 2004 15:18:34 +0000
Subject: [PATCH] in unget_kbinput(), free s after the wctomb() call, since we
 don't need it after that

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2143 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog   | 3 +++
 src/winio.c | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 931c74e3..6be32796 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -57,6 +57,9 @@ CVS code -
 	- For consistency, preserve placewewant if we didn't unjustify
 	  instead of setting it to 0. (DLR)
 - winio.c:
+  unget_kbinput()
+	- Free s after the wctomb() call, since we don't need it after
+	  that. (DLR)
   get_kbinput(), get_translated_kbinput(), get_ascii_kbinput(),
   get_untranslated_kbinput()
 	- Make the ascii_digits variables ints instead of size_t's,
diff --git a/src/winio.c b/src/winio.c
index 0ee50278..2f6ca795 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -125,6 +125,7 @@ void unget_kbinput(int kbinput, bool meta_key, bool func_key)
 	wchar_t wc = (wchar_t)kbinput;
 
 	i = wctomb(s, wc);
+	free(s);
 
 	if (i == -1)
 	    /* This wide character is unrecognized.  Send it back. */
@@ -133,7 +134,6 @@ void unget_kbinput(int kbinput, bool meta_key, bool func_key)
 	    for (; i > 0; i--)
 		ungetch(s[i - 1]);
 	}
-	free(s);
     } else
 	ungetch(kbinput);
     if (meta_key)
-- 
GitLab