vinyl: fix index use-after-free in scheduler
We don't remove dead index's ranges from the scheduler heap after we scheduled a drop task for it - we only do it from the drop task itself. As a result, we can happily go and schedule another task for the index being already scheduled for destruction. This can result in the index->ref == 1 assertion being violated in vy_task_drop_execute() or memory corruption induced by use-after-free of a vy_index struct.
Loading
Please register or sign in to comment