mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
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.
This commit is contained in:

parent
7054aaaafa
commit
cc40358768
@@ -1328,10 +1328,10 @@ void close_temporary_tables(THD *thd)
|
|||||||
due to special characters in the names
|
due to special characters in the names
|
||||||
*/
|
*/
|
||||||
append_identifier(thd, &s_query, table->s->db.str, strlen(table->s->db.str));
|
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,
|
append_identifier(thd, &s_query, table->s->table_name.str,
|
||||||
strlen(table->s->table_name.str));
|
strlen(table->s->table_name.str));
|
||||||
s_query.q_append(',');
|
s_query.append(',');
|
||||||
next= table->next;
|
next= table->next;
|
||||||
close_temporary(table, 1, 1);
|
close_temporary(table, 1, 1);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user