mirror of
https://github.com/postgres/postgres.git
synced 2025-05-26 18:17:33 +03:00
Fix assertion on dereferenced object
Commit 27cc7cd2bc8a accidentally placed the assertion ensuring that the pointer isn't NULL after it had already been accessed. Fix by moving the pointer dereferencing to after the assertion. Backpatch to all supported branches. Author: Dmitry Koval <d.koval@postgrespro.ru> Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://postgr.es/m/1618848d-cdc7-414b-9c03-08cf4bef4408@postgrespro.ru Backpatch-through: 13
This commit is contained in:
parent
6342d49d89
commit
d6894d6a08
@ -2629,13 +2629,15 @@ bool
|
||||
EvalPlanQualFetchRowMark(EPQState *epqstate, Index rti, TupleTableSlot *slot)
|
||||
{
|
||||
ExecAuxRowMark *earm = epqstate->relsubs_rowmark[rti - 1];
|
||||
ExecRowMark *erm = earm->rowmark;
|
||||
ExecRowMark *erm;
|
||||
Datum datum;
|
||||
bool isNull;
|
||||
|
||||
Assert(earm != NULL);
|
||||
Assert(epqstate->origslot != NULL);
|
||||
|
||||
erm = earm->rowmark;
|
||||
|
||||
if (RowMarkRequiresRowShareLock(erm->markType))
|
||||
elog(ERROR, "EvalPlanQual doesn't support locking rowmarks");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user