diff options
author | Marko Mäkelä <marko.makela@oracle.com> | 2010-05-12 08:39:25 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@oracle.com> | 2010-05-12 08:39:25 +0300 |
commit | 2c889b9dbce849af72933af437c707f5e463c037 (patch) | |
tree | e3d57092520f5f59ed7a8776aadf4e1215a38b43 /storage | |
parent | 80323e52009ed9db7d014d994c15ce5902f2662d (diff) | |
download | mariadb-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.c | 5 |
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); |