Commit 612caef6 authored by David Lawrence Ramsey's avatar David Lawrence Ramsey
Browse files

in statusq(), make sure that the vsnprintf(foo) call and foo's

subsequent null termination both take the proper number of bytes when
using multibyte characters, so that multibyte prompt strings aren't
prematurely cut off


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2444 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
No related merge requests found
Showing with 8 additions and 3 deletions
+8 -3
......@@ -75,6 +75,11 @@ CVS code -
regexec_safe()
- Rename to safe_regexec() for consistency. (DLR)
- winio.c:
statusq()
- Make sure that the vsnprintf(foo) call and foo's subsequent
null termination both take the proper number of bytes when
using multibyte characters, so that multibyte prompt strings
aren't prematurely cut off. (DLR)
titlebar()
- Make sure that the (mv)?waddnstr() calls take the proper
number of bytes when using multibyte characters, so that
......
......@@ -2652,7 +2652,7 @@ int statusq(bool allow_tabs, const shortcut *s, const char *def,
const char *msg, ...)
{
va_list ap;
char *foo = charalloc(COLS - 3);
char *foo = charalloc(((COLS - 4) * mb_cur_max()) + 1);
int ret;
#ifndef DISABLE_TABCOMP
bool list = FALSE;
......@@ -2661,9 +2661,9 @@ int statusq(bool allow_tabs, const shortcut *s, const char *def,
bottombars(s);
va_start(ap, msg);
vsnprintf(foo, COLS - 4, msg, ap);
vsnprintf(foo, (COLS - 4) * mb_cur_max(), msg, ap);
va_end(ap);
foo[COLS - 4] = '\0';
null_at(&foo, actual_x(foo, COLS - 4));
ret = nanogetstr(allow_tabs, foo, def,
#ifndef NANO_SMALL
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment