summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@oracle.com>2010-05-12 08:39:25 +0300
committerMarko Mäkelä <marko.makela@oracle.com>2010-05-12 08:39:25 +0300
commit2c889b9dbce849af72933af437c707f5e463c037 (patch)
treee3d57092520f5f59ed7a8776aadf4e1215a38b43 /storage
parent80323e52009ed9db7d014d994c15ce5902f2662d (diff)
downloadmariadb-git-2c889b9dbce849af72933af437c707f5e463c037.tar.gz
row_merge_drop_temp_indexes(): Do not reference freed memory.
(Bug #53471)
Diffstat (limited to 'storage')
-rw-r--r--storage/innodb_plugin/row/row0merge.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/storage/innodb_plugin/row/row0merge.c b/storage/innodb_plugin/row/row0merge.c
index 832d29df710..f3a695071d3 100644
--- a/storage/innodb_plugin/row/row0merge.c
+++ b/storage/innodb_plugin/row/row0merge.c
@@ -2096,9 +2096,12 @@ row_merge_drop_temp_indexes(void)
if (table) {
dict_index_t* index;
+ dict_index_t* next_index;
for (index = dict_table_get_first_index(table);
- index; index = dict_table_get_next_index(index)) {
+ index; index = next_index) {
+
+ next_index = dict_table_get_next_index(index);
if (*index->name == TEMP_INDEX_PREFIX) {
row_merge_drop_index(index, table, trx);