Fix rare core dump in BackendIdGetTransactionIds().
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 30 Mar 2015 17:05:27 +0000 (13:05 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 30 Mar 2015 17:05:27 +0000 (13:05 -0400)
commit701dcc983eb4d08dd36bb3a0ddba255819797760
treeef96b146b2876c3e3d3ed0e51c090ad030e9ef34
parent0633a60f4d2a2677db45d9261c94be9287e36d7c
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.
src/backend/storage/ipc/sinvaladt.c