From: Tom Lane Date: Tue, 20 Feb 2001 01:34:40 +0000 (+0000) Subject: Truncate incoming username and database name to NAMEDATALEN-1 characters X-Git-Url: http://waps.l3s.uni-hannover.de/gitweb/?a=commitdiff_plain;h=a8740e89b4ec267931a732ce2a1cb8ed76f66540;p=users%2Fbernd%2Fpostgres.git Truncate incoming username and database name to NAMEDATALEN-1 characters so that we don't reject overlength names unnecessarily. --- diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index a973c49edd..857d609057 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -1123,6 +1123,14 @@ readStartupPacket(void *arg, PacketLen len, void *pkt) if (port->database[0] == '\0') StrNCpy(port->database, si->user, sizeof(port->database)); + /* Truncate given database and user names to length of a Postgres name. */ + /* This avoids lookup failures when overlength names are given. */ + + if ((int) sizeof(port->database) >= NAMEDATALEN) + port->database[NAMEDATALEN-1] = '\0'; + if ((int) sizeof(port->user) >= NAMEDATALEN) + port->user[NAMEDATALEN-1] = '\0'; + /* Check a user name was given. */ if (port->user[0] == '\0')