aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas G. Lockhart <lockhart@fourpalms.org>2002-03-09 17:37:16 +0000
committerThomas G. Lockhart <lockhart@fourpalms.org>2002-03-09 17:37:16 +0000
commitf20509551dd1ddccd84beb2bc582fa26ed431432 (patch)
tree65fc42418c76955d32ee2bf00ad0648c145c431b
parentee2154829e3fe715f166646bdf9f43e9a102a694 (diff)
downloadpostgresql-f20509551dd1ddccd84beb2bc582fa26ed431432.tar.gz
postgresql-f20509551dd1ddccd84beb2bc582fa26ed431432.zip
Guard against NULL strings in SET key=val constructs.
Problem noted by Fernando Nasser.
-rw-r--r--src/backend/parser/gram.y11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index c166a744592..f9a876f1495 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.288 2002/03/08 04:37:17 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.289 2002/03/09 17:37:16 thomas Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -790,14 +790,16 @@ VariableSetStmt: SET ColId TO var_value
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->name = $2;
- n->args = makeList1(makeStringConst($4, NULL));
+ if ($4 != NULL)
+ n->args = makeList1(makeStringConst($4, NULL));
$$ = (Node *) n;
}
| SET ColId '=' var_value
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->name = $2;
- n->args = makeList1(makeStringConst($4, NULL));
+ if ($4 != NULL)
+ n->args = makeList1(makeStringConst($4, NULL));
$$ = (Node *) n;
}
| SET TIME ZONE zone_value
@@ -826,7 +828,8 @@ VariableSetStmt: SET ColId TO var_value
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->name = "client_encoding";
- n->args = makeList1(makeStringConst($3, NULL));
+ if ($3 != NULL)
+ n->args = makeList1(makeStringConst($3, NULL));
$$ = (Node *) n;
}
| SET SESSION AUTHORIZATION ColId_or_Sconst