git/reftable
Patrick Steinhardt ed103ab7f8 reftable/record: don't abort when decoding invalid ref value type
When decoding a ref record we read its value type from the block. In
case the type itself is invalid we call `abort()`. This is rather
heavy-handed though: the data we're reading is untrusted, so we should
treat the issue as a normal and not as a programming error.

Fix this by handling the error gracefully. Note that this also requires
us to set the value type later, as otherwise we might store an invalid
type in the record.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2026-07-03 11:08:02 -07:00
..
LICENSE
basics.c reftable/basics: fix OOB read on binary search of empty range 2026-07-03 11:08:02 -07:00
basics.h
block.c
block.h
blocksource.c reftable/system: add abstraction to mmap files 2026-04-02 10:45:44 -07:00
blocksource.h
constants.h
error.c
fsck.c reftable/fsck: use REFTABLE_UNUSED instead of UNUSED 2026-04-02 10:45:43 -07:00
iter.c
iter.h
merged.c
merged.h
pq.c
pq.h
record.c reftable/record: don't abort when decoding invalid ref value type 2026-07-03 11:08:02 -07:00
record.h
reftable-basics.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-block.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-blocksource.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-constants.h
reftable-error.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-fsck.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-iterator.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-merged.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-record.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-stack.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-system.h reftable/stack: provide fsync(3p) via system header 2026-04-02 10:45:43 -07:00
reftable-table.h reftable: introduce "reftable-system.h" header 2026-04-02 10:45:43 -07:00
reftable-writer.h reftable/stack: provide fsync(3p) via system header 2026-04-02 10:45:43 -07:00
stack.c reftable/system: add abstraction to retrieve time in milliseconds 2026-04-02 10:45:43 -07:00
stack.h
system.c reftable/system: add abstraction to mmap files 2026-04-02 10:45:44 -07:00
system.h reftable/system: add abstraction to mmap files 2026-04-02 10:45:44 -07:00
table.c
table.h
tree.c
tree.h
writer.c
writer.h