summaryrefslogtreecommitdiff
path: root/sql/table.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-03-15 04:41:57 +0200
committerunknown <monty@mashka.mysql.fi>2003-03-15 04:41:57 +0200
commit11117565a3682ea800d1b988775cd05ef78b4fb8 (patch)
tree872ca3e7569fe0db0147fd6f118af292b828ffc0 /sql/table.cc
parent13a5a24c6170921bb97796d96ca9f0ac20e5308e (diff)
parentfcf035a0d85bc49c8c071246ce22a19f2fea395b (diff)
downloadmariadb-git-11117565a3682ea800d1b988775cd05ef78b4fb8.tar.gz
merge with 3.23 to get:
- Fix for empty table/column names mysql-test/t/create.test: Auto merged sql/sql_parse.cc: Auto merged sql/ha_innodb.cc: Auto merged sql/table.cc: Auto merged tests/grant.pl: Auto merged sql/filesort.cc: merge with 3.23 sql/sql_table.cc: merge with 3.23 tests/grant.res: merge with 3.23
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);
}
/*