mariadb/storage/innobase/include
Marko Mäkelä b8c8692fd9 MDEV-24620 ASAN heap-buffer-overflow in btr_pcur_restore_position()
Between btr_pcur_store_position() and btr_pcur_restore_position()
it is possible that purge empties a table and enlarges
index->n_core_fields and index->n_core_null_bytes.
Therefore, we must cache index->n_core_fields in
btr_pcur_t::old_n_core_fields so that btr_pcur_t::old_rec can be
parsed correctly.

Unfortunately, this is a huge change, because we will replace
"bool leaf" parameters with "ulint n_core"
(passing index->n_core_fields, or 0 for non-leaf pages).
For special cases where we know that index->is_instant() cannot hold,
we may also pass index->n_fields.
2021-04-13 10:28:13 +03:00
..
btr0btr.h Merge 10.2 into 10.3 2020-10-28 10:44:40 +02:00
btr0btr.ic Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
btr0bulk.h Merge 10.2 into 10.3 2021-04-13 10:26:01 +03:00
btr0cur.h Merge 10.2 into 10.3 2020-10-28 10:44:40 +02:00
btr0cur.ic Add page_has_prev(), page_has_next(), page_has_siblings() 2019-10-09 08:29:26 +03:00
btr0defragment.h Cleanup: Remove constant parameters async=false, index_name=NULL 2020-09-29 11:07:34 +03:00
btr0pcur.h MDEV-24620 ASAN heap-buffer-overflow in btr_pcur_restore_position() 2021-04-13 10:28:13 +03:00
btr0pcur.ic Merge 10.2 into 10.3 2020-06-05 16:51:26 +03:00
btr0scrub.h Remove some unnecessary InnoDB #include 2018-11-29 12:53:44 +02:00
btr0sea.h Merge 10.2 into 10.3 2020-10-28 10:44:40 +02:00
btr0sea.ic Merge 10.2 into 10.3 2020-05-15 19:11:57 +03:00
btr0types.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
buf0block_hint.h MDEV-23693 Failing assertion: my_atomic_load32_explicit(&lock->lock_word, MY_MEMORY_ORDER_RELAXED) == X_LOCK_DECR 2020-10-27 18:30:00 +05:30
buf0buddy.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
buf0buddy.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
buf0buf.h Merge 10.2 into 10.3 2020-10-28 10:01:50 +02:00
buf0buf.ic Merge 10.2 into 10.3 2020-10-28 10:01:50 +02:00
buf0checksum.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
buf0dblwr.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
buf0dump.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
buf0flu.h Merge 10.2 into 10.3 2019-10-09 13:25:11 +03:00
buf0flu.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
buf0lru.h Merge 10.2 into 10.3 2020-05-15 19:11:57 +03:00
buf0rea.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
buf0types.h Merge branch '10.2' into 10.3 2019-06-14 07:36:47 +02:00
data0data.h MDEV-23644 Assertion on evaluating foreign referential action for self-reference in system versioned table 2020-12-22 03:33:53 +03:00
data0data.ic Merge 10.2 into 10.3 2020-07-02 06:17:51 +03:00
data0type.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
data0type.ic Merge 10.2 to 10.3 2019-08-13 19:28:51 +03:00
data0types.h Update FSF Address 2019-05-11 21:29:06 +03:00
db0err.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
dict0boot.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
dict0boot.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
dict0crea.h Merge 10.2 into 10.3 2019-12-27 15:14:48 +02:00
dict0crea.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
dict0defrag_bg.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
dict0dict.h MDEV-24620 ASAN heap-buffer-overflow in btr_pcur_restore_position() 2021-04-13 10:28:13 +03:00
dict0dict.ic Merge 10.2 into 10.3 2020-10-28 10:44:40 +02:00
dict0load.h Merge 10.2 into 10.3 2020-03-13 12:31:55 +02:00
dict0mem.h MDEV-24620 ASAN heap-buffer-overflow in btr_pcur_restore_position() 2021-04-13 10:28:13 +03:00
dict0mem.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
dict0pagecompress.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
dict0pagecompress.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
dict0priv.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
dict0priv.ic dict_load_table(): Remove constant parameter cached=true 2019-09-27 14:29:22 +03:00
dict0stats.h MDEV-7962: Follow-up fix for 10.2 2020-04-27 15:32:28 +03:00
dict0stats.ic Merge 10.2 into 10.3 2020-10-28 10:44:40 +02:00
dict0stats_bg.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
dict0types.h Merge branch '10.2' into 10.3 2019-10-31 10:58:06 +01:00
dyn0buf.h MDEV-24188: Merge 10.2 into 10.3 2020-11-13 20:41:48 +02:00
dyn0types.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
eval0eval.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
eval0eval.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
eval0proc.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
eval0proc.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
fil0crypt.h Merge 10.2 into 10.3 2019-10-09 13:25:11 +03:00
fil0crypt.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
fil0fil.h MDEV-18867 Long Time to Stop and Start 2020-09-10 14:10:26 +05:30
fil0fil.ic Lintian complains on spelling error 2019-12-02 12:41:13 +02:00
fil0pagecompress.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
fsp0file.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
fsp0fsp.h Merge 10.2 into 10.3 2020-09-09 13:06:46 +03:00
fsp0fsp.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
fsp0pagecompress.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
fsp0pagecompress.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
fsp0space.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
fsp0sysspace.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
fsp0types.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
fts0ast.h Merge 10.1 into 10.2 2020-10-21 14:02:04 +03:00
fts0blex.h Merge 10.1 into 10.2 2019-04-02 09:14:15 +03:00
fts0fts.h Merge 10.2 into 10.3 2020-10-22 08:26:28 +03:00
fts0opt.h Merge 10.1 to 10.2 2019-10-25 17:33:39 +03:00
fts0pars.h move to storage/innobase 2015-05-04 19:17:21 +02:00
fts0plugin.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
fts0priv.h Merge 10.2 into 10.3 2020-09-21 11:04:04 +03:00
fts0priv.ic MDEV-18867 Long Time to Stop and Start 2020-09-10 14:10:26 +05:30
fts0tlex.h Merge 10.1 into 10.2 2019-04-02 09:14:15 +03:00
fts0tokenize.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
fts0types.h Cleanup: Remove unused fts_cache_t::optimize_lock 2020-09-30 13:26:46 +03:00
fts0types.ic Merge 10.2 into 10.3 2020-05-20 11:41:51 +03:00
fts0vlc.ic Update FSF address 2019-05-11 19:25:02 +03:00
fut0fut.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
fut0fut.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
fut0lst.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
fut0lst.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
gis0geo.h InnoDB: Remove unused get_wkb_of_default_point() 2019-12-03 07:45:04 +02:00
gis0rtree.h Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
gis0rtree.ic MDEV-24620 ASAN heap-buffer-overflow in btr_pcur_restore_position() 2021-04-13 10:28:13 +03:00
gis0type.h MDEV-22523 index->rtr_ssn.mutex is wasting memory 2020-05-11 14:23:37 +03:00
ha0ha.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ha0ha.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ha0storage.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ha0storage.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ha_prototypes.h Merge branch '10.2' into 10.3 2021-02-01 13:49:33 +01:00
handler0alter.h Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
hash0hash.h introduce HASH_REPLACE() for hash_table_t 2020-01-31 22:14:18 +08:00
hash0hash.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ib0mutex.h MDEV-14482 - Cache line contention on ut_rnd_interval() 2019-12-10 17:01:36 +02:00
ibuf0ibuf.h Merge 10.2 into 10.3 2020-11-12 10:37:21 +02:00
ibuf0ibuf.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
ibuf0types.h Update FSF Address 2019-05-11 21:29:06 +03:00
lock0iter.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
lock0lock.h Merge 10.2 into 10.3 2020-06-05 16:51:26 +03:00
lock0lock.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
lock0prdt.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
lock0priv.h MDEV-21595: innodb offset_t rename to rec_offs 2020-04-29 12:02:47 +03:00
lock0priv.ic MDEV-21595: innodb offset_t rename to rec_offs 2020-04-29 12:02:47 +03:00
lock0types.h Merge 10.2 into 10.3 2019-07-25 15:31:11 +03:00
log0crypt.h MDEV-17228 Encrypted temporary tables are not encrypted 2019-06-28 19:07:59 +05:30
log0log.h Merge 10.2 into 10.3 2020-08-20 09:12:16 +03:00
log0log.ic Merge 10.2 into 10.3 2020-08-20 09:12:16 +03:00
log0recv.h Merge 10.2 into 10.3 2020-07-31 14:13:34 +03:00
log0types.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
mach0data.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
mach0data.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
mem0mem.h Merge branch '10.2' into 10.3 2020-02-10 20:34:16 +01:00
mem0mem.ic MDEV-20377 post-fix: Introduce MEM_MAKE_ADDRESSABLE 2020-07-02 17:59:28 +03:00
mtr0log.h Remove unused mlog_catenate_ulint_compressed() 2019-12-16 13:40:00 +02:00
mtr0log.ic Remove unused mlog_catenate_ulint_compressed() 2019-12-16 13:40:00 +02:00
mtr0mtr.h MDEV-24188: Merge 10.2 into 10.3 2020-11-13 20:41:48 +02:00
mtr0mtr.ic Merge 10.2 into 10.3 2020-10-28 10:01:50 +02:00
mtr0types.h Merge 10.2 into 10.3 2020-07-20 15:11:59 +03:00
os0api.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
os0event.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
os0file.h Merge 10.2 into 10.3 2021-03-18 12:34:48 +02:00
os0file.ic Merge 10.2 into 10.3 2019-06-11 13:00:18 +03:00
os0proc.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
os0thread.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
page0cur.h Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
page0cur.ic MDEV-24620 ASAN heap-buffer-overflow in btr_pcur_restore_position() 2021-04-13 10:28:13 +03:00
page0page.h Merge 10.2 into 10.3 2020-08-13 18:18:25 +03:00
page0page.ic Merge 10.2 into 10.3 2020-05-13 11:45:05 +03:00
page0size.h Merge 10.2 into 10.3 2020-03-30 11:12:56 +03:00
page0types.h MDEV-21595: innodb offset_t rename to rec_offs 2020-04-29 12:02:47 +03:00
page0zip.h Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
page0zip.ic Merge 10.2 into 10.3 2020-07-02 06:17:51 +03:00
pars0grm.h MDEV-21254 Remove unused keywords from the InnoDB SQL parser 2019-12-09 12:32:04 +02:00
pars0opt.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
pars0pars.h Merge 10.2 into 10.3 2019-12-12 14:41:51 +02:00
pars0sym.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
pars0types.h Update FSF Address 2019-05-11 21:29:06 +03:00
que0que.h Merge 10.2 into 10.3 (except MDEV-17556) 2021-01-11 09:41:54 +02:00
que0que.ic Cleanup: Remove thr_is_recv(), trx_is_recv() 2020-06-01 10:23:11 +03:00
que0types.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
read0types.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
rem0cmp.h MDEV-21595: innodb offset_t rename to rec_offs 2020-04-29 12:02:47 +03:00
rem0cmp.ic MDEV-21512 InnoDB may hang due to SPATIAL INDEX 2020-01-17 14:27:29 +02:00
rem0rec.h MDEV-24620 ASAN heap-buffer-overflow in btr_pcur_restore_position() 2021-04-13 10:28:13 +03:00
rem0rec.ic Merge 10.2 into 10.3 2020-07-02 06:17:51 +03:00
rem0types.h Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
row0ext.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0ext.ic Update FSF Address 2019-05-11 21:29:06 +03:00
row0ftsort.h Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
row0import.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
row0ins.h MDEV-21138 Assertion col->ord_part' or f.col->ord_part' failed in row_build_index_entry_low 2020-12-22 03:33:53 +03:00
row0log.h MDEV-24730 Insert log operation fails after purge resets n_core_fields 2021-03-12 16:56:47 +05:30
row0log.ic Cleanup: row_log_free() 2020-11-25 10:54:38 +02:00
row0merge.h Merge 10.2 into 10.3 2021-04-13 10:26:01 +03:00
row0mysql.h Merge 10.2 into 10.3 2021-03-05 10:06:42 +02:00
row0purge.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
row0quiesce.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0row.h Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
row0row.ic Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
row0sel.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
row0sel.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0trunc.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
row0types.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0uins.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0umod.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0undo.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
row0upd.h Merge 10.2 into 10.3 2020-08-26 10:45:47 +03:00
row0upd.ic Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
row0vers.h Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
srv0conc.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
srv0mon.h Fixed bugs found by valgrind 2020-07-02 17:57:34 +03:00
srv0mon.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
srv0srv.h Merge 10.2 into 10.3 2021-03-27 16:11:26 +02:00
srv0start.h Merge 10.2 into 10.3 2020-06-05 16:51:26 +03:00
sync0arr.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
sync0arr.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
sync0debug.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
sync0policy.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
sync0policy.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
sync0rw.h MDEV-24188: Merge 10.2 into 10.3 2020-11-13 20:41:48 +02:00
sync0rw.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
sync0sync.h Merge 10.2 into 10.3 2020-10-28 10:44:40 +02:00
sync0types.h Merge 10.2 into 10.3 2020-10-22 08:26:28 +03:00
trx0i_s.h Merge 10.2 into 10.3 2019-07-25 15:31:11 +03:00
trx0purge.h Merge 10.2 into 10.3 2019-10-12 06:34:09 +03:00
trx0purge.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
trx0rec.h Merge branch '10.2' into 10.3 2020-05-04 16:47:11 +02:00
trx0rec.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
trx0roll.h Merge 10.2 into 10.3 2020-06-02 10:25:11 +03:00
trx0rseg.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
trx0rseg.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
trx0sys.h MDEV-22351 InnoDB may recover wrong information after RESET MASTER 2021-01-22 16:44:17 +02:00
trx0trx.h Merge branch '10.2' into 10.3 2021-02-01 13:49:33 +01:00
trx0trx.ic Simplify trx_state_eq() 2019-09-05 15:59:21 +03:00
trx0types.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
trx0undo.h Merge 10.2 into 10.3 2020-10-28 10:01:50 +02:00
trx0undo.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
trx0xa.h Update FSF Address 2019-05-11 21:29:06 +03:00
univ.i Merge branch '10.2' into 10.3 2021-02-01 13:49:33 +01:00
ut0byte.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0byte.ic Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
ut0counter.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0crc32.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
ut0dbg.h Merge 10.2 into 10.3 2019-05-29 11:32:46 +03:00
ut0list.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0list.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0lst.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0mem.h Clean up ut_strlcpy(), ut_strlcpy_rev() 2019-10-30 06:42:51 +02:00
ut0mem.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0mutex.h MDEV-23996 Race conditions in SHOW ENGINE INNODB MUTEX 2020-10-20 19:55:16 +03:00
ut0new.h Cleanup mman.h includes 2019-10-02 20:21:30 +04:00
ut0pool.h Merge 10.2 into 10.3 2020-08-21 19:18:34 +03:00
ut0rbt.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0rnd.h MDEV-21256: Replace the 64-bit LCG with a 32-bit Galois LFSR 2019-12-10 16:59:34 +02:00
ut0rnd.ic MDEV-21256: Simplify ut_rnd_interval() 2019-12-10 16:58:28 +02:00
ut0sort.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0stage.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
ut0ut.h Merge 10.2 into 10.3 2020-06-05 16:51:26 +03:00
ut0ut.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0vec.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0vec.ic Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
ut0wqueue.h Merge 10.1 to 10.2 2019-10-25 17:33:39 +03:00