PQHost() undefined behavior if connecting string contains both host and hostaddr types

From: Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>
To: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: PQHost() undefined behavior if connecting string contains both host and hostaddr types
Date: 2018-01-14 03:19:26
Message-ID: CAJrrPGdrC4JTJQ4d7PT1Bi7K8nW91XPMPQ5kJ3GWK3ts+W-35g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

While working on [1], we find out the inconsistency in PQHost() behavior
if the connecting string that is passed to connect to the server contains
multiple hosts with both host and hostaddr types. For example,

host=host1,host2 hostaddr=127.0.0.1,127.0.0.1 port=5434,5432

As the hostaddr is given preference when both host and hostaddr is
specified, so the connection type for both addresses of the above
conninfo is CHT_HOST_ADDRESS. So the PQhost() returns the
conn->pghost value i.e "host1,host2" instead of the actual host that
is connected.

Instead of checking the connection type while returning the host
details, it should check whether the host is NULL or not? with this
change it returns the expected value for all the connection types.

Patch attached.

[1] -
https://www.postgresql.org/message-id/CAJrrPGeE0zY03phJByjofnN2TV9bSf4fu2yy%3Dv4DyWw_Dj%3DbRQ%40mail.gmail.com

Regards,
Hari Babu
Fujitsu Australia

Attachment Content-Type Size
PQhost-update-to-return-proper-host-details_v2.patch application/octet-stream 1.3 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Chapman Flack 2018-01-14 04:38:33 Re: proposal: alternative psql commands quit and exit
Previous Message Everaldo Canuto 2018-01-14 02:36:54 Re: proposal: alternative psql commands quit and exit