Re: BUG #19602: Vuln46: citext split_part silently returns NULL for a zero field position instead of raising core sp

From: Manu <manuelreyesbravo(at)gmail(dot)com>
To: JaeHyuck Sa <jaehyuck(dot)sa(dot)dev(at)gmail(dot)com>
Cc: Aleksander Alekseev <aleksander(at)tigerdata(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org, 1217816127(at)qq(dot)com
Subject: Re: BUG #19602: Vuln46: citext split_part silently returns NULL for a zero field position instead of raising core sp
Date: 2026-11-12 23:00:40
Message-ID: 179452444013.584903.7599589934313418775@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Jaehyuck,

You were right on both points; v3, attached, has both changes.

On Thu, Nov 12, 2026 at 2:29 PM Jaehyuck Sa
<jaehyuck(dot)sa(dot)dev(at)gmail(dot)com> wrote:
> With -2, it
> would return 'c' only when the match is case-insensitive, so I think
> it would catch a missing 'i'. (The same goes for the 'aΔbδc' line in
> citext_utf8.sql.)

Both lines now use -2. With 'gi' changed to 'g', the two -1 lines
passed and the two -2 lines fail; the tests still catch an unescaped
pattern or replacement string as before.

> I think only the
> wording needs to change

Done as you suggested. Of the eight locales I tried on Linux,
U+01C5 ~* U+01C5 is true only with the plain C locale (libc and
builtin); it is false with builtin C.UTF-8 and PG_UNICODE_FAST,
libc en_US.UTF-8 and C.UTF-8, and ICU. I could not try macOS.

Regards,
Manu

Attachment Content-Type Size
v3-0001-Make-citext-s-split_part-handle-field-positions-l.patch text/x-patch 12.0 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Daniel Gustafsson 2026-11-13 00:00:07 Re: BUG #19702: decode() accepts Base64 payload after terminal padding
Previous Message Andrey Rachitskiy 2026-11-12 21:45:43 Re: BUG #19884: pg_publication_tables omits a detach-pending partition in root mode