diff options
author | Magne Mahre <magne.mahre@sun.com> | 2009-12-18 11:48:34 +0100 |
---|---|---|
committer | Magne Mahre <magne.mahre@sun.com> | 2009-12-18 11:48:34 +0100 |
commit | f815246486444ca2dc5d408099439e1d973d3a7b (patch) | |
tree | 45a1f6b9f458b0a7b814f8f97c13c4a56e602934 /mysys | |
parent | dd1378c8ff671c96318ad90e06ed28018469ac17 (diff) | |
download | mariadb-git-f815246486444ca2dc5d408099439e1d973d3a7b.tar.gz |
Backport to 5.1 branch (next-mr revid: 2921)
Bug#35589 SET PASSWORD caused a crash
Bug#35591 FLUSH PRIVILEGES caused a crash
A race condition on the privilege hash tables (proc_priv_hash
and func_priv_hash) caused one thread to try to delete elements
that had already been deleted by another thread.
The bug was caused by reading and saving the pointers to
the hash tables outside mutex protection. This led to an
inconsistency where a thread copied a pointer to a hash,
another thread did the same, the first thread then deleted
the hash, and the second then crashed when it in turn tried to
delete the deleted hash.
The fix is to ensure that operations on the shared hash structures
happens under mutex protection (moving the locking up a little)
Diffstat (limited to 'mysys')
0 files changed, 0 insertions, 0 deletions