Fix rare core dump in BackendIdGetTransactionIds().

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 2897e069c1f4309a237a1fa4bf5d2fcd9c4b9868
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2015-03-30T17:05:35Z
Releases: 9.4.2
Fix rare core dump in BackendIdGetTransactionIds().

BackendIdGetTransactionIds() neglected the possibility that the PROC
pointer in a ProcState array entry is null.  In current usage, this could
only crash if the other backend had exited since pgstat_read_current_status
saw it as active, which is a pretty narrow window.  But it's reachable in
the field, per bug #12918 from Vladimir Borodin.

Back-patch to 9.4 where the faulty code was introduced.

Files

PathChange+/−
src/backend/storage/ipc/sinvaladt.c modified +9 −6