Fix nested error handling in PG_FINALLY

Peter Eisentraut <peter@eisentraut.org>

Commit: 581a55889ba7f76dd87a270e37e5137f684bfdb7
Author: Peter Eisentraut <peter@eisentraut.org>
Date: 2019-11-07T08:56:47Z
Releases: 13.0
Fix nested error handling in PG_FINALLY

We need to pop the error stack before running the user-supplied
PG_FINALLY code.  Otherwise an error in the cleanup code would end up
at the same sigsetjmp() invocation and result in an infinite error
handling loop.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/95a822c3-728b-af0e-d7e5-71890507ae0c%402ndquadrant.com

Files

PathChange+/−
src/backend/utils/adt/xml.c modified +1 −1
src/include/utils/elog.h modified +5 −3

Discussion