fix potential infinite loop in mbrevstrpbrk()
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3270 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Этот коммит содержится в:
родитель
3a5e6f9317
Коммит
66d3ebf6a6
@ -910,13 +910,18 @@ char *mbrevstrpbrk(const char *s, const char *accept, const char
|
|||||||
|
|
||||||
#ifdef ENABLE_UTF8
|
#ifdef ENABLE_UTF8
|
||||||
if (ISSET(USE_UTF8)) {
|
if (ISSET(USE_UTF8)) {
|
||||||
while (rev_start >= s) {
|
bool begin_line = FALSE;
|
||||||
|
|
||||||
|
while (!begin_line) {
|
||||||
const char *q = (*rev_start == '\0') ? NULL :
|
const char *q = (*rev_start == '\0') ? NULL :
|
||||||
mbstrchr(accept, rev_start);
|
mbstrchr(accept, rev_start);
|
||||||
|
|
||||||
if (q != NULL)
|
if (q != NULL)
|
||||||
return (char *)rev_start;
|
return (char *)rev_start;
|
||||||
|
|
||||||
|
if (rev_start == s)
|
||||||
|
begin_line = TRUE;
|
||||||
|
else
|
||||||
rev_start = s + move_mbleft(s, rev_start - s);
|
rev_start = s + move_mbleft(s, rev_start - s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user