pgsql: Fix handling of escape sequences in postgres_fdw.application_nam

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix handling of escape sequences in postgres_fdw.application_nam
Date: 2023-02-21 11:02:41
Message-ID: E1pUQPx-002Fyy-8k@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix handling of escape sequences in postgres_fdw.application_name

postgres_fdw.application_name relies on MyProcPort to define the data
that should be added to escape sequences %u (user name) or %d (database
name). However this code could be run in processes that lack a
MyProcPort, like an autovacuum process, causing crashes.

The code generating the application name is made more flexible with this
commit, so as it now generates no data for %u and %d if MyProcPort is
missing, and a simple "unknown" if MyProcPort exists, but the expected
fields are not set.

Reported-by: Alexander Lakhin
Author: Kyotaro Horiguchi, Michael Paquier
Reviewed-by: Hayato Kuroda, Masahiko Sawada
Discussion: https://postgr.es/m/17789-8b31c5a4672b74d9@postgresql.org
Backpatch-through: 15

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/8427ce4c379ee3774b8a9aca13ca7f4bfb76ba85

Modified Files
--------------
contrib/postgres_fdw/option.c | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message John Naylor 2023-02-21 11:16:59 Re: pgsql: Add assert checking to pg_leftmost_one_pos32() and friends
Previous Message Alvaro Herrera 2023-02-21 10:15:20 pgsql: pgbench: Prepare commands in pipelines in advance