• Magne Mahre's avatar
    Bug#35589 SET PASSWORD caused a crash · c24ef7e9
    Magne Mahre authored
    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)
    
    c24ef7e9
sql_acl.cc 199 KB