Make exec_simple_check_plan() check for a null plan, so
authorTom Lane
Sun, 4 Jul 1999 01:03:01 +0000 (01:03 +0000)
committerTom Lane
Sun, 4 Jul 1999 01:03:01 +0000 (01:03 +0000)
that it doesn't crash when processing a utility statement.

src/pl/plpgsql/src/pl_exec.c

index 48ff11a040e2b8cf3068071f0fdb49fbceeb0c10..02bdf6caa12be7479ab09a27f68754889993621c 100644 (file)
@@ -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;