From: Tom Lane Date: Thu, 8 Jan 2009 13:42:33 +0000 (+0000) Subject: Defend against null input in analyze_requires_snapshot(), per report X-Git-Tag: REL8_4_BETA1~429 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2e9650cbcff8c8fb0d9ef807c73a44f241822eee;p=postgresql Defend against null input in analyze_requires_snapshot(), per report from Rushabh Lathia. --- diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index 9c896b07f6..6b54e9ba17 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -17,7 +17,7 @@ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/parser/analyze.c,v 1.386 2009/01/01 17:23:45 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/parser/analyze.c,v 1.387 2009/01/08 13:42:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -222,13 +222,17 @@ transformStmt(ParseState *pstate, Node *parseTree) * Returns true if a snapshot must be set before doing parse analysis * on the given raw parse tree. * - * Classification here should match transformStmt(). + * Classification here should match transformStmt(); but we also have to + * allow a NULL input (for Parse/Bind of an empty query string). */ bool analyze_requires_snapshot(Node *parseTree) { bool result; + if (parseTree == NULL) + return false; + switch (nodeTag(parseTree)) { /*