1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00

Revert 302324 and properly fix the crash with ISO-8859-5 locales

PR:		211135
Reported by:	jkim
Tested by:	jkim
MFC after:	2 days
This commit is contained in:
Baptiste Daroussin 2016-07-15 23:03:20 +00:00
parent eeb341a9f3
commit dee0bbbdca
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=302916

View File

@ -310,7 +310,7 @@ _collate_lookup(struct xlocale_collate *table, const wchar_t *t, int *len,
if ((sptr = *state) != NULL) {
*pri = *sptr;
sptr++;
if ((sptr == *state) || (*sptr == 0))
if ((sptr == *state) || (sptr == NULL))
*state = NULL;
else
*state = sptr;
@ -451,6 +451,7 @@ _collate_wxfrm(struct xlocale_collate *table, const wchar_t *src, wchar_t *xf,
errno = EINVAL;
goto fail;
}
state = NULL;
pri = COLLATE_MAX_PRIORITY;
}
if (room) {
@ -469,6 +470,7 @@ _collate_wxfrm(struct xlocale_collate *table, const wchar_t *src, wchar_t *xf,
errno = EINVAL;
goto fail;
}
state = NULL;
continue;
}
if (room) {
@ -597,6 +599,7 @@ _collate_sxfrm(struct xlocale_collate *table, const wchar_t *src, char *xf,
errno = EINVAL;
goto fail;
}
state = NULL;
pri = COLLATE_MAX_PRIORITY;
}
@ -622,6 +625,7 @@ _collate_sxfrm(struct xlocale_collate *table, const wchar_t *src, char *xf,
errno = EINVAL;
goto fail;
}
state = NULL;
continue;
}