]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix callers of unicode_strtitle() using srclen == -1.
authorJeff Davis <jdavis@postgresql.org>
Mon, 20 Apr 2026 21:44:08 +0000 (14:44 -0700)
committerJeff Davis <jdavis@postgresql.org>
Mon, 20 Apr 2026 21:45:44 +0000 (14:45 -0700)
Currently, only called that way in tests, which failed to fail.

Discussion: https://postgr.es/m/581a72ff452bb045ba83bbe3c6cf4467702d4f0f.camel@j-davis.com
Backpatch-through: 18

src/backend/utils/adt/pg_locale_builtin.c
src/common/unicode/case_test.c

index f51768830cd7b6ff425749f46c5e85f1f1446791..df5612b5a2d472e7b42f71106a10b76a64281ba9 100644 (file)
@@ -91,7 +91,7 @@ strtitle_builtin(char *dest, size_t destsize, const char *src, ssize_t srclen,
 {
        struct WordBoundaryState wbstate = {
                .str = src,
-               .len = srclen,
+               .len = (srclen < 0) ? strlen(src) : srclen,
                .offset = 0,
                .posix = !locale->info.builtin.casemap_full,
                .init = false,
index fdfb62e855286fb1d0d2c74e8cc26b1b3ad4e4bd..6dfc4d130eac27ca19cd08b7b0a59d69297d087c 100644 (file)
@@ -303,7 +303,7 @@ tfunc_title(char *dst, size_t dstsize, const char *src,
 {
        struct WordBoundaryState wbstate = {
                .str = src,
-               .len = srclen,
+               .len = (srclen < 0) ? strlen(src) : srclen,
                .offset = 0,
                .init = false,
                .prev_alnum = false,