Putting in the null byte "manually", and only when using UTF-8.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5347 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Этот коммит содержится в:
родитель
7e1bc82d98
Коммит
2a5bd555e7
@ -1,3 +1,8 @@
|
||||
2015-08-08 Benno Schulenberg <bensberg@justemail.net>
|
||||
* src/winio.c (display_string): For some reason the reallocation done
|
||||
by null_at() messes things up. So put in the null byte "manually".
|
||||
This is a fix -- or workaround -- for Savannah bug #45718.
|
||||
|
||||
2015-08-06 Benno Schulenberg <bensberg@justemail.net>
|
||||
* src/nano.c (main): For --enable-debug builds, let malloc() help
|
||||
to find initialization failures and uses-after-free. Suggested by
|
||||
|
@ -1999,10 +1999,13 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool
|
||||
char *nctrl_buf_mb = charalloc(mb_cur_max());
|
||||
int nctrl_buf_mb_len, i;
|
||||
|
||||
#ifdef ENABLE_UTF8
|
||||
/* Make sure an invalid sequence-starter byte is properly
|
||||
* terminated, so that it doesn't pick up lingering bytes
|
||||
* of any previous content. */
|
||||
null_at(&buf_mb, buf_mb_len);
|
||||
if (using_utf8() && buf_mb_len == 1)
|
||||
buf_mb[1] = '\0';
|
||||
#endif
|
||||
|
||||
nctrl_buf_mb = mbrep(buf_mb, nctrl_buf_mb,
|
||||
&nctrl_buf_mb_len);
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user