aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2002-08-08 01:22:35 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2002-08-08 01:22:35 +0000
commit13e8be42bd51a4acad264f62dc86ed1c30aeaea5 (patch)
treee49ade5d63616179a75c9533f8564c2c53661d35
parentc1003339d6899535b455951b875565e5e73f2f7d (diff)
downloadpostgresql-13e8be42bd51a4acad264f62dc86ed1c30aeaea5.tar.gz
postgresql-13e8be42bd51a4acad264f62dc86ed1c30aeaea5.zip
parseTypeString wasn't quite paranoid enough.
-rw-r--r--src/backend/parser/parse_type.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/backend/parser/parse_type.c b/src/backend/parser/parse_type.c
index 59c534a7ef3..0eb29045b1f 100644
--- a/src/backend/parser/parse_type.c
+++ b/src/backend/parser/parse_type.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_type.c,v 1.47 2002/08/02 18:15:07 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_type.c,v 1.48 2002/08/08 01:22:35 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -461,6 +461,8 @@ parseTypeString(const char *str, Oid *type_id, int32 *typmod)
elog(ERROR, "parseTypeString: Invalid type name '%s'", str);
typecast = (TypeCast *) restarget->val;
if (typecast == NULL ||
+ !IsA(typecast, TypeCast) ||
+ typecast->arg == NULL ||
!IsA(typecast->arg, A_Const))
elog(ERROR, "parseTypeString: Invalid type name '%s'", str);
typename = typecast->typename;