• unknown's avatar
    BUG#27564 - Valgrind: UDF does not cleanup correctly · 632ed804
    unknown authored
    Dropping an user defined function may cause server crash in
    case this function is still in use by another thread.
    
    The problem was that our hash implementation didn't update
    hash link list properly when hash_update() was called.
    
    
    mysys/hash.c:
      The following requirement wasn't met by hash_update() function
      causing corruption of hash links list:
      
      After a record was unlinked from the old chain during update, it
      holds random position. By the chance this position is equal to
      position for the first element in the new chain. That means
      updated record is the only record in the new chain.
    632ed804
hash.c 16.8 KB