postgres.git / summary / log / commit / refs
commit b2be5cb2ab671073ec0fc69357c3c11e25bb41cc
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun Aug 11 16:24:56 2024 +0000
First released in: 18.0, 13.17, 14.14, 15.9, 16.5, 17.0
Suppress Coverity warnings about Asserts in get_name_for_var_field.
Coverity thinks dpns->plan could be null at these points. That
shouldn't really be possible, but it's easy enough to modify the
Asserts so they'd not core-dump if it were true.
These are new in b919a97a6. Back-patch to v13; the v12 version
of the patch didn't have these Asserts.
src/backend/utils/adt/ruleutils.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index c656afc35a1..4039ee0df73 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -7914,11 +7914,11 @@ get_name_for_var_field(Var *var, int fieldno,
{
char *dummy_name = palloc(32);
- Assert(IsA(dpns->plan, Result));
+ Assert(dpns->plan && IsA(dpns->plan, Result));
snprintf(dummy_name, 32, "f%d", fieldno);
return dummy_name;
}
- Assert(IsA(dpns->plan, SubqueryScan));
+ Assert(dpns->plan && IsA(dpns->plan, SubqueryScan));
tle = get_tle_by_resno(dpns->inner_tlist, attnum);
if (!tle)
@@ -8045,12 +8045,12 @@ get_name_for_var_field(Var *var, int fieldno,
{
char *dummy_name = palloc(32);
- Assert(IsA(dpns->plan, Result));
+ Assert(dpns->plan && IsA(dpns->plan, Result));
snprintf(dummy_name, 32, "f%d", fieldno);
return dummy_name;
}
- Assert(IsA(dpns->plan, CteScan) ||
- IsA(dpns->plan, WorkTableScan));
+ Assert(dpns->plan && (IsA(dpns->plan, CteScan) ||
+ IsA(dpns->plan, WorkTableScan)));
tle = get_tle_by_resno(dpns->inner_tlist, attnum);
if (!tle)
[parent: 364de74cff28]