]> granicus.if.org Git - postgresql/commit
Fix VM buffer pin management in heap_lock_updated_tuple_rec().
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Mar 2018 22:40:48 +0000 (17:40 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Mar 2018 22:40:48 +0000 (17:40 -0500)
commit96d2df840b0669aad6792b459805367ba70641af
tree478f8e9f5667088dae5a3097c110e2311f14c849
parent529137cac9a8f0db6cca23a5c305b533cd2dd880
Fix VM buffer pin management in heap_lock_updated_tuple_rec().

Sloppy coding in this function could lead to leaking a VM buffer pin,
or to attempting to free the same pin twice.  Repair.  While at it,
reduce the code's tendency to free and reacquire the same page pin.

Back-patch to 9.6; before that, this routine did not concern itself
with VM pages.

Amit Kapila and Tom Lane

Discussion: https://postgr.es/m/CAA4eK1KJKwhc=isgTQHjM76CAdVswzNeAuZkh_cx-6QgGkSEgA@mail.gmail.com
src/backend/access/heap/heapam.c