aboutsummaryrefslogtreecommitdiff
path: root/contrib/postgres_fdw/postgres_fdw.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-03-21 11:59:49 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-03-21 12:00:02 -0400
commit92b7902deb3155f6975f33e8b6c8be4d9d066172 (patch)
tree3d196b5d532af79c8c132391bf56b6a8d30a95cb /contrib/postgres_fdw/postgres_fdw.c
parentae507d9222989f2fd8455cf32d4dcb337ccf32bb (diff)
downloadpostgresql-92b7902deb3155f6975f33e8b6c8be4d9d066172.tar.gz
postgresql-92b7902deb3155f6975f33e8b6c8be4d9d066172.zip
Clean up some Coverity complaints about commit 0bf3ae88af330496.
The two get_tle_by_resno() calls introduced by this commit lacked any check for a NULL return, unlike any other calls of that function anywhere in our tree. Coverity quite properly complained about it. Also fix a misindented line in process_query_params(), which Coverity also complained about on the grounds that the bad indentation suggested possible programmer misinterpretation.
Diffstat (limited to 'contrib/postgres_fdw/postgres_fdw.c')
-rw-r--r--contrib/postgres_fdw/postgres_fdw.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/contrib/postgres_fdw/postgres_fdw.c b/contrib/postgres_fdw/postgres_fdw.c
index d6db8340129..9600e3b3c45 100644
--- a/contrib/postgres_fdw/postgres_fdw.c
+++ b/contrib/postgres_fdw/postgres_fdw.c
@@ -2042,7 +2042,7 @@ postgresRecheckForeignScan(ForeignScanState *node, TupleTableSlot *slot)
* postgresPlanDirectModify
* Consider a direct foreign table modification
*
- * Decide whether it is safe to modify a foreign table directly, and if so,
+ * Decide whether it is safe to modify a foreign table directly, and if so,
* rewrite subplan accordingly.
*/
static bool
@@ -2119,6 +2119,10 @@ postgresPlanDirectModify(PlannerInfo *root,
tle = get_tle_by_resno(subplan->targetlist, attno);
+ if (!tle)
+ elog(ERROR, "attribute number %d not found in subplan targetlist",
+ attno);
+
if (!is_foreign_expr(root, baserel, (Expr *) tle->expr))
return false;
@@ -3305,7 +3309,8 @@ process_query_params(ExprContext *econtext,
param_values[i] = NULL;
else
param_values[i] = OutputFunctionCall(&param_flinfo[i], expr_value);
- i++;
+
+ i++;
}
reset_transmission_modes(nestlevel);