mirror of
https://github.com/postgres/postgres.git
synced 2026-04-14 13:37:39 -04:00
Fix overrun when comparing with unterminated ICU language string.
The overrun was introduced in commit c4ff35f10.
Author: Andreas Karlsson <andreas@proxel.se>
Reported-by: Alexander Lakhin <exclusion@gmail.com>
Discussion: https://postgr.es/m/96d80a47-f17f-42fa-82b1-2908efbd6541@gmail.com
Backpatch-through: 18
This commit is contained in:
parent
540fe8fb5c
commit
6393259bd4
1 changed files with 3 additions and 3 deletions
|
|
@ -702,7 +702,7 @@ u_strFoldCase_default(UChar *dest, int32_t destCapacity,
|
|||
UErrorCode *pErrorCode)
|
||||
{
|
||||
uint32 options = U_FOLD_CASE_DEFAULT;
|
||||
char lang[3];
|
||||
char lang[ULOC_LANG_CAPACITY];
|
||||
UErrorCode status;
|
||||
|
||||
/*
|
||||
|
|
@ -712,8 +712,8 @@ u_strFoldCase_default(UChar *dest, int32_t destCapacity,
|
|||
* languages to enable the option.
|
||||
*/
|
||||
status = U_ZERO_ERROR;
|
||||
uloc_getLanguage(locale, lang, 3, &status);
|
||||
if (U_SUCCESS(status))
|
||||
uloc_getLanguage(locale, lang, ULOC_LANG_CAPACITY, &status);
|
||||
if (U_SUCCESS(status) && status != U_STRING_NOT_TERMINATED_WARNING)
|
||||
{
|
||||
/*
|
||||
* The option name is confusing, but it causes u_strFoldCase to use
|
||||
|
|
|
|||
Loading…
Reference in a new issue