MDEV-16982 Server crashes in mem_heap_dup upon DELETE from table with virtual columns
An uninitialized buffer is passed to row_sel_store_mysql_rec() but InnoDB may not initialize everything. Looks like it's ok in most cases but not always. The partially initialized buffer was later passed to ha_innobase::write_row() which reads random NULL bit values for virtual columns and random stuff happens. No test case for MariaDB 10.2 was found. The test case for MariaDB 10.3 involves partitioning, system versioning and the TRASH_ALLOC fill pattern 0xA5. Test case depends very much on the number and layout of columns. Think about 0xA5 byte for a NULL bit mask. row_sel_store_mysql_rec(): always initialize virtual columns NULL bit Closes #1144
Showing
Please register or sign in to comment