pgsql: Be more wary of false matches in initdb's replace_token().

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Be more wary of false matches in initdb's replace_token().
Date: 2026-03-05 22:43:22
Message-ID: E1vyHPe-002a3J-1g@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Be more wary of false matches in initdb's replace_token().

Do not replace the target string unless the occurrence is surrounded
by whitespace or line start/end. This avoids potential false match
to a substring of a field. While we've not had trouble with that
up to now, the next patch creates hazards of false matches to
POSTGRES within an ACL field.

There is one call site that needs adjustment, as it was presuming
it could write "::1" and have that match "::1/128". For all the
others, this restriction is okay and strictly safer.

Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Reviewed-by: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
Discussion: https://postgr.es/m/183292bb-4891-4c96-a3ca-e78b5e0e1358@dunslane.net

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7664319ccb0288b3b13b111b0d88ec7881f3c5bf

Modified Files
--------------
src/bin/initdb/initdb.c | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2026-03-06 02:53:48 pgsql: Refactor code retrieving string for RecoveryPauseState
Previous Message Melanie Plageman 2026-03-05 21:57:36 pgsql: Prefix PruneState->all_{visible,frozen} with set_