From 8015ba083600c0e2ff766733d561d412afb6b097 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Sat, 2 Aug 1997 19:09:33 +0000 Subject: [PATCH] Prevent relname unallocated string length from being copied into database. --- src/backend/commands/creatinh.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/backend/commands/creatinh.c b/src/backend/commands/creatinh.c index 696bd22e7c4..9522d214d57 100644 --- a/src/backend/commands/creatinh.c +++ b/src/backend/commands/creatinh.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.6 1997/04/02 03:57:06 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/creatinh.c,v 1.7 1997/08/02 19:09:33 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -46,7 +46,7 @@ static void StoreCatalogInheritance(Oid relationId, List *supers); void DefineRelation(CreateStmt *stmt) { - char *relname = stmt->relname; + char *relname = palloc(NAMEDATALEN+1); List *schema = stmt->tableElts; int numberOfAttributes; Oid relationId; @@ -58,9 +58,10 @@ DefineRelation(CreateStmt *stmt) char* typename = NULL; /* the typename of this relation. not useod for now */ - if ( strlen(relname) > NAMEDATALEN) - elog(WARN, "the relation name %s is > %d characters long", relname, + if ( strlen(stmt->relname) > NAMEDATALEN) + elog(WARN, "the relation name %s is > %d characters long", stmt->relname, NAMEDATALEN); + strncpy(relname,stmt->relname,NAMEDATALEN+1); /* make full length for copy */ /* ---------------- * Handle parameters -- GitLab