From cc403587687a8669f0976b8424c49593535697ed Mon Sep 17 00:00:00 2001 From: "aelkin/elkin@dsl-hkibras1-ff1dc300-249.dhcp.inet.fi" <> Date: Wed, 28 Mar 2007 12:18:06 +0300 Subject: [PATCH] Bug#27015 s_query.q_append() called without s_query.reserve()? there is a way to miss allocation for the punctuation marks, namely if (q == EOF) is true inside of append_identifier(), i.e in case names are not quoted (not by default). Replacing q_append with the method with reallocation if needed. --- sql/sql_base.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 02191959233..16f30038c81 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -1328,10 +1328,10 @@ void close_temporary_tables(THD *thd) due to special characters in the names */ append_identifier(thd, &s_query, table->s->db.str, strlen(table->s->db.str)); - s_query.q_append('.'); + s_query.append('.'); append_identifier(thd, &s_query, table->s->table_name.str, strlen(table->s->table_name.str)); - s_query.q_append(','); + s_query.append(','); next= table->next; close_temporary(table, 1, 1); }