Fix crash in psql when attempting to reuse old connection
authorMichael Paquier <michael@paquier.xyz>
Wed, 1 Apr 2020 05:45:45 +0000 (14:45 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 1 Apr 2020 05:45:45 +0000 (14:45 +0900)
commit8d84dd00123985e739233fa67c9b1d555f33ed03
tree8d6f70ea80636d833e8196e21556e39c16b60a41
parent2401d93718310237b3cb1ff914abc1bcbdd8e1dc
Fix crash in psql when attempting to reuse old connection

In a psql session, if the connection to the server is abruptly cut, the
referenced connection would become NULL as of CheckConnection().  This
could cause a hard crash with psql if attempting to connect by reusing
the past connection's data because of a null-pointer dereference with
either PQhost() or PQdb().  This issue is fixed by making sure that no
reuse of the past connection is done if it does not exist.

Issue has been introduced by 6e5f8d4, so backpatch down to 12.

Reported-by: Hugh Wang
Author: Michael Paquier
Reviewed-by: Álvaro Herrera, Tom Lane
Discussion: https://postgr.es/m/16330-b34835d83619e25d@postgresql.org
Backpatch-through: 12
src/bin/psql/command.c