Michał Chojnowski
295b27a07b
cache_flat_mutation_reader: only call get_iterator_in_latest() when pointing at a row
...
Calling `_next_row.get_iterator_in_latest()` is illegal when `_next_row` is not
pointing at a row. In particular, the iterator returned by such call might be
dangling.
We have observed this to cause a use-after-free in the field, when a reverse
read called `maybe_add_to_cache` after `_latest_it` was left dangling after
a dead row removal in `copy_from_cache_to_buffer`.
To fix this, we should ensure that we only call `_next_row.get_iterator_in_latest`
is pointing at a row.
Only the occurrences of this problem in `maybe_add_to_cache` are truly dangerous.
As far as I can see, other occurrences can't break anything as of now.
But we apply fixes to them anyway.
Closes scylladb/scylladb#18046
2024-03-27 11:48:42 +01:00
..
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-01-15 13:26:39 +02:00
2024-03-21 23:14:57 +01:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-02-02 22:12:57 +08:00
2024-02-23 10:52:12 +08:00
2024-02-02 22:12:57 +08:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-02-21 19:38:53 +02:00
2024-03-13 09:29:00 +02:00
2024-01-24 10:37:39 +01:00
2024-02-02 22:12:57 +08:00
2024-03-18 13:37:44 +02:00
2024-02-06 13:22:16 +02:00
2024-01-11 08:37:56 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-03-20 09:16:46 +02:00
2024-02-06 13:22:16 +02:00
2024-02-27 02:27:55 -05:00
2024-02-06 13:22:16 +02:00
2024-01-18 12:50:06 +02:00
2024-02-06 13:22:16 +02:00
2024-03-15 09:40:22 +02:00
2024-03-21 14:35:38 +01:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-03-05 14:00:13 +08:00
2024-02-06 13:22:16 +02:00
2024-03-13 08:52:46 +02:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-02-22 17:53:34 +08:00
2024-03-17 16:58:39 +02:00
2024-02-02 22:12:57 +08:00
2024-01-11 08:37:56 +02:00
2024-01-29 09:59:30 +02:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-02-02 22:12:57 +08:00
2024-02-02 22:12:57 +08:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-03-15 11:05:29 +01:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-03-26 13:38:37 +08:00
2024-02-06 13:22:16 +02:00
2024-03-20 09:16:46 +02:00
2024-02-06 13:22:16 +02:00
2024-03-13 08:52:46 +02:00
2024-03-13 08:52:46 +02:00
2024-03-20 22:39:51 +04:00
2024-02-07 09:21:24 +02:00
2024-02-07 18:31:36 +01:00
2024-03-12 14:53:55 +08:00
2024-02-21 19:43:17 +02:00
2024-02-06 13:22:16 +02:00
2024-02-21 00:24:25 +02:00
2024-01-11 14:33:47 +08:00
2024-02-21 00:24:25 +02:00
2024-02-06 13:22:16 +02:00
2024-03-11 11:37:48 +02:00
2024-03-11 09:55:51 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-03-01 16:25:14 +01:00
2024-03-27 11:48:42 +01:00
2024-02-02 22:12:57 +08:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-01-04 03:20:17 -05:00
2024-03-26 15:31:18 +02:00
2024-02-02 22:12:57 +08:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-03-12 11:05:18 -04:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-02-02 22:12:57 +08:00
2024-02-02 22:12:57 +08:00
2024-02-21 19:43:17 +02:00
2024-02-02 22:12:57 +08:00
2024-02-02 22:12:57 +08:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-03-12 19:10:44 +03:00
2024-02-06 13:22:16 +02:00
2024-01-24 10:37:39 +01:00
2024-02-06 13:22:16 +02:00
2024-03-21 10:19:46 +01:00
2024-02-02 22:12:57 +08:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-03-26 13:38:37 +08:00
2024-02-02 22:12:57 +08:00
2024-03-25 14:52:16 +01:00
2024-03-26 13:38:37 +08:00
2024-02-21 19:43:17 +02:00
2024-02-02 22:12:57 +08:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-02 22:12:57 +08:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-06 13:22:16 +02:00
2024-02-21 19:43:17 +02:00