diff options
author | monty@mysql.com <> | 2004-10-27 21:56:17 +0300 |
---|---|---|
committer | monty@mysql.com <> | 2004-10-27 21:56:17 +0300 |
commit | 5b29f59aa8fe3f66d0f884f0e567891d5d75d7bd (patch) | |
tree | 66328d72ad0e0bfc349cb02b61f845b1c7f2949a /sql/sql_insert.cc | |
parent | 3493f54a5ed60e838e7bd6b428638a43da341e47 (diff) | |
download | mariadb-git-5b29f59aa8fe3f66d0f884f0e567891d5d75d7bd.tar.gz |
Fixed access to freed memory
Diffstat (limited to 'sql/sql_insert.cc')
-rw-r--r-- | sql/sql_insert.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 2c48d1dca8f..648549ca3ac 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -1681,9 +1681,10 @@ bool select_create::send_eof() */ if (!table->tmp_table) { + ulong version= table->version; hash_delete(&open_cache,(byte*) table); /* Tell threads waiting for refresh that something has happened */ - if (table->version != refresh_version) + if (version != refresh_version) VOID(pthread_cond_broadcast(&COND_refresh)); } lock=0; @@ -1707,11 +1708,12 @@ void select_create::abort() enum db_type table_type=table->db_type; if (!table->tmp_table) { + ulong version= table->version; hash_delete(&open_cache,(byte*) table); if (!create_info->table_existed) quick_rm_table(table_type, db, name); /* Tell threads waiting for refresh that something has happened */ - if (table->version != refresh_version) + if (version != refresh_version) VOID(pthread_cond_broadcast(&COND_refresh)); } else if (!create_info->table_existed) |