v17-0001-Fix-missed-case-for-builtin-collation-provider.patch
text/x-patch
Filename: v17-0001-Fix-missed-case-for-builtin-collation-provider.patch
Type: text/x-patch
Part: 0
Patch
Format: format-patch
Series: patch v17-0001
Subject: Fix missed case for builtin collation provider.
| File | + | − |
|---|---|---|
| src/backend/utils/adt/like_support.c | 1 | 1 |
From c65eb2fda1d7c9a29846d61bdb0358a0e73e2226 Mon Sep 17 00:00:00 2001 From: Jeff Davis <jeff@j-davis.com> Date: Wed, 9 Oct 2024 22:28:15 -0700 Subject: [PATCH v17] Fix missed case for builtin collation provider. A missed check for the builtin collation provider could result in falling through to call isalpha(). This does not appear to have practical consequences because it only happens for characters in the ASCII range. Regardless, the builtin provider should not be calling libc functions, so backpatch. Backpatch-through: 17 --- src/backend/utils/adt/like_support.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/utils/adt/like_support.c b/src/backend/utils/adt/like_support.c index 2635050861..6cd21ba8fe 100644 --- a/src/backend/utils/adt/like_support.c +++ b/src/backend/utils/adt/like_support.c @@ -1505,7 +1505,7 @@ pattern_char_isalpha(char c, bool is_multibyte, return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'); else if (is_multibyte && IS_HIGHBIT_SET(c)) return true; - else if (locale && locale->provider == COLLPROVIDER_ICU) + else if (locale && locale->provider != COLLPROVIDER_LIBC) return IS_HIGHBIT_SET(c) || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'); else if (locale && locale->provider == COLLPROVIDER_LIBC) -- 2.34.1