• Aleksey Midenkov's avatar
    MDEV-18734 ASAN heap-use-after-free upon sorting by blob column from partitioned table · 160d97a4
    Aleksey Midenkov authored
    ha_partition stores records in array of m_ordered_rec_buffer and uses
    it for prio queue in ordered index scan. When the records are restored
    from the array the blob buffers may be already freed or rewritten.
    
    The solution is to take temporary ownership of cached blob buffers via
    String::swap(). When the record is restored from m_ordered_rec_buffer
    the ownership is returned to table fields.
    
    Cleanups:
    
    init_record_priority_queue(): removed needless !m_ordered_rec_buffer
    check as there is same assertion few lines before.
    
    dbug_print_row() for arbitrary row pointer
    160d97a4
partition.result 3.21 KB