0001-Avoid-a-possible-dereference-a-null-pointer.patch
application/octet-stream
Filename: 0001-Avoid-a-possible-dereference-a-null-pointer.patch
Type: application/octet-stream
Part: 0
Patch
Format: format-patch
Series: patch 0001
Subject: Avoid a possible dereference a null pointer
| File | + | − |
|---|---|---|
| src/backend/utils/adt/pg_locale.c | 8 | 10 |
From ef3ba802a328633b401522ee447cb260caea46f4 Mon Sep 17 00:00:00 2001
From: Ranier Vilela <ranier.vf@gmail.com>
Date: Fri, 1 Sep 2023 11:21:08 -0300
Subject: [PATCH] Avoid a possible dereference a null pointer
If a null locale is reached in this paths.
elog will dereference a null pointer.
Author: Ranier Vilela (ranier.vf@gmail.com)
---
src/backend/utils/adt/pg_locale.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c
index aa9da99308..58350fc6f8 100644
--- a/src/backend/utils/adt/pg_locale.c
+++ b/src/backend/utils/adt/pg_locale.c
@@ -2393,16 +2393,15 @@ pg_strxfrm_prefix(char *dest, const char *src, size_t destsize,
{
size_t result = 0; /* keep compiler quiet */
- if (!locale || locale->provider == COLLPROVIDER_LIBC)
- elog(ERROR, "collprovider '%c' does not support pg_strxfrm_prefix()",
- locale->provider);
+ if (!locale)
+ elog(ERROR, "unsupported collprovider");
#ifdef USE_ICU
else if (locale->provider == COLLPROVIDER_ICU)
result = pg_strnxfrm_prefix_icu(dest, src, -1, destsize, locale);
#endif
else
- /* shouldn't happen */
- elog(ERROR, "unsupported collprovider: %c", locale->provider);
+ elog(ERROR, "collprovider '%c' does not support pg_strxfrm_prefix()",
+ locale->provider);
return result;
}
@@ -2430,16 +2429,15 @@ pg_strnxfrm_prefix(char *dest, size_t destsize, const char *src,
{
size_t result = 0; /* keep compiler quiet */
- if (!locale || locale->provider == COLLPROVIDER_LIBC)
- elog(ERROR, "collprovider '%c' does not support pg_strnxfrm_prefix()",
- locale->provider);
+ if (!locale)
+ elog(ERROR, "unsupported collprovider");
#ifdef USE_ICU
else if (locale->provider == COLLPROVIDER_ICU)
result = pg_strnxfrm_prefix_icu(dest, src, -1, destsize, locale);
#endif
else
- /* shouldn't happen */
- elog(ERROR, "unsupported collprovider: %c", locale->provider);
+ elog(ERROR, "collprovider '%c' does not support pg_strnxfrm_prefix()",
+ locale->provider);
return result;
}
--
2.32.0.windows.1