From b31aa64f4aa065de5fe7be1a2a204675775245ec Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 4 Jul 1999 01:03:01 +0000 Subject: [PATCH] Make exec_simple_check_plan() check for a null plan, so that it doesn't crash when processing a utility statement. --- src/pl/plpgsql/src/pl_exec.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 48ff11a040..02bdf6caa1 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -3,7 +3,7 @@ * procedural language * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.11 1999/05/25 16:15:17 momjian Exp $ + * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.12 1999/07/04 01:03:01 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -2477,7 +2477,7 @@ exec_simple_check_plan(PLpgSQL_expr * expr) * execution plan * ---------- */ - if (spi_plan->ptlist == NULL || length(spi_plan->ptlist) != 1) + if (length(spi_plan->ptlist) != 1) return; plan = (Plan *) lfirst(spi_plan->ptlist); @@ -2486,6 +2486,9 @@ exec_simple_check_plan(PLpgSQL_expr * expr) * 2. It must be a RESULT plan --> no scan's required * ---------- */ + if (plan == NULL) /* utility statement produces this */ + return; + if (nodeTag(plan) != T_Result) return; -- 2.40.0