• unknown's avatar
    The fix for BUG 21136 (ChangeSet@1.2611.1.1) introduced a regression that · 76dd7747
    unknown authored
    caused a few tests to fail because the thd->extra_lock wasn't being set to
    NULL after the table was unlocked. This poses a serious problem because later
    attempts to access thd->extra_lock (now a dangling pointer) will probably
    result in a crash (undefined behavior) -- and that's what actually happens
    in some test cases.
    
    The solution is to set the select_create::m_plock pointee to NULL, which
    means that thd->extra_lock is set to NULL when the lock data is not for a
    temporary table.
    
    
    sql/sql_insert.cc:
      Set the m_plock pointee to NULL, thus avoiding a dangling thd->extra_lock pointer
      in some cases.
    76dd7747
sql_insert.cc 121 KB