]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix volatile-safety issue in dblink's materializeQueryResult().
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 26 Jan 2015 20:17:39 +0000 (15:17 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 26 Jan 2015 20:17:39 +0000 (15:17 -0500)
commite50e2e08232426f235a7dd7be078cd617be9202a
treeb27cd0cf2c63a37d87c0ab23db3c6f7e09b0fd8e
parent22967ed5b457e9a8646c5960856fca79b7d1de36
Fix volatile-safety issue in dblink's materializeQueryResult().

Some fields of the sinfo struct are modified within PG_TRY and then
referenced within PG_CATCH, so as with recent patch to async.c, "volatile"
is necessary for strict POSIX compliance; and that propagates to a couple
of subroutines as well as materializeQueryResult() itself.  I think the
risk of actual issues here is probably higher than in async.c, because
storeQueryResult() is likely to get inlined into materializeQueryResult(),
leaving the compiler free to conclude that its stores into sinfo fields are
dead code.
contrib/dblink/dblink.c