Correctly copy the target host identification in PQcancelCreate.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Jul 2025 19:47:59 +0000 (15:47 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Jul 2025 19:48:02 +0000 (15:48 -0400)
commitfe05430ace8e0b3c945cf581564458a5983a07b6
treefa65f646f5115339564ac2826eafb57ca5cb3b31
parent0c2b7174c362d3092eb7eabf0117a8d47c64ce0e
Correctly copy the target host identification in PQcancelCreate.

PQcancelCreate failed to copy struct pg_conn_host's "type" field,
instead leaving it zero (a/k/a CHT_HOST_NAME).  This seemingly
has no great ill effects if it should have been CHT_UNIX_SOCKET
instead, but if it should have been CHT_HOST_ADDRESS then a
null-pointer dereference will occur when the cancelConn is used.

Bug: #18974
Reported-by: Maxim Boguk <maxim.boguk@gmail.com>
Author: Sergei Kornilov <sk@zsrv.org>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: http://postgr.es/m/18974-575f02b2168b36b3@postgresql.org
Backpatch-through: 17
src/interfaces/libpq/fe-cancel.c