summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2017-04-28 20:19:32 +0200
committerSergei Golubchik <serg@mariadb.org>2017-04-28 20:19:32 +0200
commite74f2e2b8629ab79a6c2f93acff6e17a7ddee7ff (patch)
treec6f2f7343bf9ad5dfd40ec83d5485ec3e05d26d2 /sql/sql_table.cc
parentb82c602db588cfa688278ef772050c004590c124 (diff)
parent49552cf1f7adb3f3b7bb53696cc178363e4d9cb2 (diff)
downloadmariadb-git-e74f2e2b8629ab79a6c2f93acff6e17a7ddee7ff.tar.gz
Merge branch '10.0' 10.1
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r--sql/sql_table.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 27d1b96886c..ad0a6b3c2c7 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -3233,6 +3233,21 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info,
bool tmp_table= create_table_mode == C_ALTER_TABLE;
DBUG_ENTER("mysql_prepare_create_table");
+ LEX_STRING* connect_string = &create_info->connect_string;
+ if (connect_string->length != 0 &&
+ connect_string->length > CONNECT_STRING_MAXLEN &&
+ (system_charset_info->cset->charpos(system_charset_info,
+ connect_string->str,
+ (connect_string->str +
+ connect_string->length),
+ CONNECT_STRING_MAXLEN)
+ < connect_string->length))
+ {
+ my_error(ER_WRONG_STRING_LENGTH, MYF(0),
+ connect_string->str, "CONNECTION", CONNECT_STRING_MAXLEN);
+ DBUG_RETURN(TRUE);
+ }
+
select_field_pos= alter_info->create_list.elements - select_field_count;
null_fields=blob_columns=0;
create_info->varchar= 0;