diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 1ed8887a878..49b0c70ff03 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -223,7 +223,7 @@ static int find_keyword(LEX *lex, uint len, bool function) SYNOPSIS is_keyword() - name checked name + name checked name (must not be empty) len length of checked name RETURN VALUES @@ -233,6 +233,7 @@ static int find_keyword(LEX *lex, uint len, bool function) bool is_keyword(const char *name, uint len) { + DBUG_ASSERT(len != 0); return get_hash_symbol(name,len,0)!=0; } diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 8920efa87ab..5c9d13cac3e 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -713,7 +713,8 @@ append_identifier(THD *thd, String *packet, const char *name, uint length) int get_quote_char_for_identifier(THD *thd, const char *name, uint length) { - if (!is_keyword(name,length) && + if (!length || + !is_keyword(name,length) && !require_quotes(name, length) && !(thd->options & OPTION_QUOTE_SHOW_CREATE)) return EOF;