]> granicus.if.org Git - postgresql/commitdiff
parseTypeString wasn't quite paranoid enough.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 Aug 2002 01:22:35 +0000 (01:22 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 Aug 2002 01:22:35 +0000 (01:22 +0000)
src/backend/parser/parse_type.c

index 59c534a7ef3161a293642ecf3993a51ef1d0b275..0eb29045b1f62f27996430dbf29ff9b0951afef9 100644 (file)
@@ -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;