diff options
author | unknown <monty@mashka.mysql.fi> | 2003-03-15 04:41:57 +0200 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2003-03-15 04:41:57 +0200 |
commit | 11117565a3682ea800d1b988775cd05ef78b4fb8 (patch) | |
tree | 872ca3e7569fe0db0147fd6f118af292b828ffc0 /sql/table.cc | |
parent | 13a5a24c6170921bb97796d96ca9f0ac20e5308e (diff) | |
parent | fcf035a0d85bc49c8c071246ce22a19f2fea395b (diff) | |
download | mariadb-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.cc | 7 |
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); } /* |