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

From Tom Lane
Subject pgsql: Be more wary of false matches in initdb's replace_token().
Date
Msg-id E1vyHPe-002a3J-1g@gemulon.postgresql.org
Whole thread Raw
List 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@sss.pgh.pa.us>
Reviewed-by: Álvaro Herrera <alvherre@kurilemu.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(-)


pgsql-committers by date:

Previous
From: Melanie Plageman
Date:
Subject: pgsql: Prefix PruneState->all_{visible,frozen} with set_
Next
From: Michael Paquier
Date:
Subject: pgsql: Refactor code retrieving string for RecoveryPauseState