Fix unsafe coding in ReorderBufferCommit().

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

Commit: 91964c3ed1c49d9a8670d3f85a660181cc541c7c
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2015-01-24T18:25:22Z
Releases: 9.4.1
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.

Files

PathChange+/−
src/backend/replication/logical/reorderbuffer.c modified +4 −3