mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-04 06:36:50 +02:00
Prevent relname unallocated string length from being copied into database.
This commit is contained in:
parent
105889e1d8
commit
8015ba0836
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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
|
void
|
||||||
DefineRelation(CreateStmt *stmt)
|
DefineRelation(CreateStmt *stmt)
|
||||||
{
|
{
|
||||||
char *relname = stmt->relname;
|
char *relname = palloc(NAMEDATALEN+1);
|
||||||
List *schema = stmt->tableElts;
|
List *schema = stmt->tableElts;
|
||||||
int numberOfAttributes;
|
int numberOfAttributes;
|
||||||
Oid relationId;
|
Oid relationId;
|
||||||
@ -58,9 +58,10 @@ DefineRelation(CreateStmt *stmt)
|
|||||||
|
|
||||||
char* typename = NULL; /* the typename of this relation. not useod for now */
|
char* typename = NULL; /* the typename of this relation. not useod for now */
|
||||||
|
|
||||||
if ( strlen(relname) > NAMEDATALEN)
|
if ( strlen(stmt->relname) > NAMEDATALEN)
|
||||||
elog(WARN, "the relation name %s is > %d characters long", relname,
|
elog(WARN, "the relation name %s is > %d characters long", stmt->relname,
|
||||||
NAMEDATALEN);
|
NAMEDATALEN);
|
||||||
|
strncpy(relname,stmt->relname,NAMEDATALEN+1); /* make full length for copy */
|
||||||
|
|
||||||
/* ----------------
|
/* ----------------
|
||||||
* Handle parameters
|
* Handle parameters
|
||||||
|
Loading…
Reference in New Issue
Block a user