Fix unsafe coding in ReorderBufferCommit().
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 24 Jan 2015 18:25:19 +0000 (13:25 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 24 Jan 2015 18:25:19 +0000 (13:25 -0500)
commitf8a4dd2e141a12e349882edecc683504acb82ec8
tree34bea4540b23f1169d8eb61ffb56b6a3f39da796
parent586dd5d6a5d59e406bc8032bb52625ffb904311c
Fix unsafe coding in ReorderBufferCommit().

"iterstate" must be marked volatile since it's changed inside the PG_TRY
block and then used in the PG_CATCH stanza.  Noted by Mark Wilding of
Salesforce.  (We really need to see if we can't get the C compiler to warn
about this.)

Also, reset iterstate to NULL after the mainline ReorderBufferIterTXNFinish
call, to ensure the PG_CATCH block doesn't try to do that a second time.
src/backend/replication/logical/reorderbuffer.c