summaryrefslogtreecommitdiff
path: root/sql/table.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-03-16 16:30:54 +0200
committerunknown <monty@mashka.mysql.fi>2003-03-16 16:30:54 +0200
commitbfbb0ad69df21854f2db5fb2b9c708b2a576929e (patch)
treef6d63b9728c1157c31c1f74bbe32bc1e50de79b8 /sql/table.cc
parentf08688c5ee2aed851f92393b06b1b704ef0dd118 (diff)
parent9681f4a8cd242e3828f211e0bed5235e70ee5f4e (diff)
downloadmariadb-git-bfbb0ad69df21854f2db5fb2b9c708b2a576929e.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0
Diffstat (limited to 'sql/table.cc')
-rw-r--r--sql/table.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/sql/table.cc b/sql/table.cc
index 1635c85eca8..d1e2c86e5ab 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -1164,6 +1164,8 @@ bool check_db_name(char *name)
bool check_table_name(const char *name, uint length)
{
const char *end= name+length;
+ if (!length || length > NAME_LEN)
+ return 1;
while (name != end)
{
@@ -1187,6 +1189,8 @@ bool check_table_name(const char *name, uint length)
bool check_column_name(const char *name)
{
+ const char *start= name;
+
while (*name)
{
#if defined(USE_MB) && defined(USE_MB_IDENT)
@@ -1204,7 +1208,8 @@ bool check_column_name(const char *name)
return 1;
name++;
}
- return 0;
+ /* Error if empty or too long column name */
+ return (name == start || (uint) (name - start) > NAME_LEN);
}
/*