Commit cd36f9cf authored by unknown's avatar unknown
Browse files

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:
  changing the method that uses reallocation if necessary
parent 0e9a844f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
      }