Fix unsafe coding in ReorderBufferCommit().

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

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