From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Edward Thomson <ethomson@edwardthomson.com>,
Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v2 00/22] reftable: handle allocation errors
Date: Tue, 24 Sep 2024 08:31:49 +0200 [thread overview]
Message-ID: <cover.1727158127.git.ps@pks.im> (raw)
In-Reply-To: <cover.1726489647.git.ps@pks.im>
Hi,
this is the second patch series that converts the reftable library to
start handling allocation errors. This is done such that the reftable
library can truly behave like a library and let its callers handle such
conditions.
Changes compared to v1:
- Remove our use of `st_mult()` in `reftable_calloc()`.
- Initialize the `*dest` pointer with `NULL` in case creating a new
indexed table iterator fails.
Thanks!
Patrick
Patrick Steinhardt (22):
reftable/error: introduce out-of-memory error code
reftable/basics: merge "publicbasics" into "basics"
reftable: introduce `reftable_strdup()`
reftable/basics: handle allocation failures in `reftable_calloc()`
reftable/basics: handle allocation failures in `parse_names()`
reftable/record: handle allocation failures on copy
reftable/record: handle allocation failures when decoding records
reftable/writer: handle allocation failures in `writer_index_hash()`
reftable/writer: handle allocation failures in `reftable_new_writer()`
reftable/merged: handle allocation failures in
`merged_table_init_iter()`
reftable/reader: handle allocation failures for unindexed reader
reftable/reader: handle allocation failures in `reader_init_iter()`
reftable/stack: handle allocation failures on reload
reftable/stack: handle allocation failures in `reftable_new_stack()`
reftable/stack: handle allocation failures in `stack_compact_range()`
reftable/stack: handle allocation failures in auto compaction
reftable/iter: handle allocation failures when creating indexed table
iter
reftable/blocksource: handle allocation failures
reftable/block: handle allocation failures
reftable/pq: handle allocation failures when adding entries
reftable/tree: handle allocation failures
reftable: handle trivial allocation failures
Makefile | 1 -
refs/reftable-backend.c | 39 ++++--
reftable/basics.c | 92 ++++++++++++++-
reftable/basics.h | 13 +-
reftable/block.c | 23 +++-
reftable/block.h | 4 +-
reftable/blocksource.c | 25 +++-
reftable/error.c | 2 +
reftable/iter.c | 20 +++-
reftable/iter.h | 2 +-
reftable/merged.c | 84 ++++++++-----
reftable/merged.h | 6 +-
reftable/pq.c | 7 +-
reftable/pq.h | 2 +-
reftable/publicbasics.c | 66 -----------
reftable/reader.c | 68 ++++++++---
reftable/reader.h | 6 +-
reftable/record.c | 164 +++++++++++++++++++-------
reftable/record.h | 6 +-
reftable/reftable-basics.h | 18 +++
reftable/reftable-error.h | 3 +
reftable/reftable-malloc.h | 18 ---
reftable/reftable-merged.h | 8 +-
reftable/reftable-reader.h | 8 +-
reftable/reftable-stack.h | 8 +-
reftable/reftable-writer.h | 12 +-
reftable/stack.c | 177 ++++++++++++++++++++++------
reftable/tree.c | 42 +++++--
reftable/tree.h | 21 +++-
reftable/writer.c | 150 +++++++++++++++--------
t/helper/test-reftable.c | 10 +-
t/unit-tests/lib-reftable.c | 8 +-
t/unit-tests/t-reftable-basics.c | 11 +-
t/unit-tests/t-reftable-block.c | 24 ++--
t/unit-tests/t-reftable-merged.c | 16 ++-
t/unit-tests/t-reftable-readwrite.c | 61 ++++++----
t/unit-tests/t-reftable-stack.c | 4 +-
t/unit-tests/t-reftable-tree.c | 10 +-
38 files changed, 853 insertions(+), 386 deletions(-)
delete mode 100644 reftable/publicbasics.c
create mode 100644 reftable/reftable-basics.h
delete mode 100644 reftable/reftable-malloc.h
Range-diff against v1:
1: 8c99ecc3255 = 1: 8c99ecc3255 reftable/error: introduce out-of-memory error code
2: 4dcdf1d48ec = 2: 4dcdf1d48ec reftable/basics: merge "publicbasics" into "basics"
3: 21fa9b15d96 = 3: 21fa9b15d96 reftable: introduce `reftable_strdup()`
4: e6ded75f630 ! 4: f6ad92ffd01 reftable/basics: handle allocation failures in `reftable_calloc()`
@@ Commit message
Handle allocation failures in `reftable_calloc()`.
+ While at it, remove our use of `st_mult()` that would cause us to die on
+ an overflow. From the caller's point of view there is not much of a
+ difference between arguments that are too large to be multiplied and a
+ request that is too big to handle by the allocator: in both cases the
+ allocation cannot be fulfilled. And in neither of these cases do we want
+ the reftable library to die.
+
+ While we could use `unsigned_mult_overflows()` to handle the overflow
+ gracefully, we instead open-code it to further our goal of converting
+ the reftable codebase to become a standalone library that can be reused
+ by external projects.
+
Signed-off-by: Patrick Steinhardt <ps@pks.im>
## reftable/basics.c ##
-@@ reftable/basics.c: void *reftable_calloc(size_t nelem, size_t elsize)
+@@ reftable/basics.c: void reftable_free(void *p)
+
+ void *reftable_calloc(size_t nelem, size_t elsize)
{
- size_t sz = st_mult(nelem, elsize);
- void *p = reftable_malloc(sz);
+- size_t sz = st_mult(nelem, elsize);
+- void *p = reftable_malloc(sz);
+- memset(p, 0, sz);
++ void *p;
++
++ if (nelem && elsize > SIZE_MAX / nelem)
++ return NULL;
++
++ p = reftable_malloc(nelem * elsize);
+ if (!p)
+ return NULL;
- memset(p, 0, sz);
++
++ memset(p, 0, nelem * elsize);
return p;
}
+
5: 1f98abe9812 = 5: ad028020df7 reftable/basics: handle allocation failures in `parse_names()`
6: fa32be01e50 = 6: df713fbe08c reftable/record: handle allocation failures on copy
7: 372e36f880e = 7: 870bb003c0a reftable/record: handle allocation failures when decoding records
8: 7404d648a9d = 8: 1d47e425009 reftable/writer: handle allocation failures in `writer_index_hash()`
9: d6afb30221e = 9: caa71f0a775 reftable/writer: handle allocation failures in `reftable_new_writer()`
10: 349fd785a81 = 10: a84e9cadae4 reftable/merged: handle allocation failures in `merged_table_init_iter()`
11: c4985e64ce2 = 11: 20d38330141 reftable/reader: handle allocation failures for unindexed reader
12: 94c85ffd5ec = 12: e35c3a705d5 reftable/reader: handle allocation failures in `reader_init_iter()`
13: 6ef25b6c655 = 13: ca3b57f151e reftable/stack: handle allocation failures on reload
14: f5583cc2300 = 14: 7377421a632 reftable/stack: handle allocation failures in `reftable_new_stack()`
15: 3393a59ce42 = 15: 244e8667c5d reftable/stack: handle allocation failures in `stack_compact_range()`
16: 2c19f258fe7 = 16: 99f4868c38f reftable/stack: handle allocation failures in auto compaction
17: 32fead57de9 ! 17: 271839a6260 reftable/iter: handle allocation failures when creating indexed table iter
@@ reftable/iter.c: int new_indexed_table_ref_iter(struct indexed_table_ref_iter **
itr->offset_len = offset_len;
err = indexed_table_ref_iter_next_block(itr);
-- if (err < 0) {
+ if (err < 0)
+ goto out;
+
@@ reftable/iter.c: int new_indexed_table_ref_iter(struct indexed_table_ref_iter **
+ err = 0;
+
+out:
-+ if (err < 0)
+ if (err < 0) {
++ *dest = NULL;
reftable_free(itr);
- } else {
- *dest = itr;
-- }
+ }
return err;
}
-
## reftable/iter.h ##
@@ reftable/iter.h: void iterator_from_indexed_table_ref_iter(struct reftable_iterator *it,
18: 4d672ab9b15 = 18: c41808e9d75 reftable/blocksource: handle allocation failures
19: 4fa47a559b2 = 19: 9348b0a4575 reftable/block: handle allocation failures
20: a569c39fd8e = 20: 445daf9464d reftable/pq: handle allocation failures when adding entries
21: 99bca688f2a = 21: c31f9e53f52 reftable/tree: handle allocation failures
22: 02073dafb96 = 22: d0fe9993716 reftable: handle trivial allocation failures
--
2.46.0.551.gc5ee8f2d1c.dirty
next prev parent reply other threads:[~2024-09-24 6:31 UTC|newest]
Thread overview: 151+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-16 12:28 [PATCH 00/22] reftable: handle allocation errors Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 01/22] reftable/error: introduce out-of-memory error code Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 02/22] reftable/basics: merge "publicbasics" into "basics" Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 03/22] reftable: introduce `reftable_strdup()` Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 04/22] reftable/basics: handle allocation failures in `reftable_calloc()` Patrick Steinhardt
2024-09-21 19:37 ` Junio C Hamano
2024-09-24 5:48 ` Patrick Steinhardt
2024-09-24 6:02 ` Patrick Steinhardt
2024-09-24 16:39 ` Junio C Hamano
2024-09-16 12:28 ` [PATCH 05/22] reftable/basics: handle allocation failures in `parse_names()` Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 06/22] reftable/record: handle allocation failures on copy Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 07/22] reftable/record: handle allocation failures when decoding records Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 08/22] reftable/writer: handle allocation failures in `writer_index_hash()` Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 09/22] reftable/writer: handle allocation failures in `reftable_new_writer()` Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 10/22] reftable/merged: handle allocation failures in `merged_table_init_iter()` Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 11/22] reftable/reader: handle allocation failures for unindexed reader Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 12/22] reftable/reader: handle allocation failures in `reader_init_iter()` Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 13/22] reftable/stack: handle allocation failures on reload Patrick Steinhardt
2024-09-16 12:28 ` [PATCH 14/22] reftable/stack: handle allocation failures in `reftable_new_stack()` Patrick Steinhardt
2024-09-16 12:29 ` [PATCH 15/22] reftable/stack: handle allocation failures in `stack_compact_range()` Patrick Steinhardt
2024-09-16 12:29 ` [PATCH 16/22] reftable/stack: handle allocation failures in auto compaction Patrick Steinhardt
2024-09-16 12:29 ` [PATCH 17/22] reftable/iter: handle allocation failures when creating indexed table iter Patrick Steinhardt
2024-09-22 6:26 ` Junio C Hamano
2024-09-24 5:49 ` Patrick Steinhardt
2024-09-16 12:29 ` [PATCH 18/22] reftable/blocksource: handle allocation failures Patrick Steinhardt
2024-09-16 12:29 ` [PATCH 19/22] reftable/block: " Patrick Steinhardt
2024-09-16 12:29 ` [PATCH 20/22] reftable/pq: handle allocation failures when adding entries Patrick Steinhardt
2024-09-16 12:29 ` [PATCH 21/22] reftable/tree: handle allocation failures Patrick Steinhardt
2024-09-16 12:29 ` [PATCH 22/22] reftable: handle trivial " Patrick Steinhardt
2024-09-24 6:31 ` Patrick Steinhardt [this message]
2024-09-24 6:31 ` [PATCH v2 01/22] reftable/error: introduce out-of-memory error code Patrick Steinhardt
2024-09-24 6:31 ` [PATCH v2 02/22] reftable/basics: merge "publicbasics" into "basics" Patrick Steinhardt
2024-09-24 6:31 ` [PATCH v2 03/22] reftable: introduce `reftable_strdup()` Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 04/22] reftable/basics: handle allocation failures in `reftable_calloc()` Patrick Steinhardt
2024-09-24 16:59 ` Junio C Hamano
2024-09-26 12:11 ` Patrick Steinhardt
2024-09-26 16:13 ` Junio C Hamano
2024-09-27 5:28 ` Patrick Steinhardt
2024-09-27 12:21 ` Han-Wen Nienhuys
2024-09-27 15:21 ` Junio C Hamano
2024-09-24 6:32 ` [PATCH v2 05/22] reftable/basics: handle allocation failures in `parse_names()` Patrick Steinhardt
2024-09-24 22:19 ` René Scharfe
2024-09-26 12:09 ` Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 06/22] reftable/record: handle allocation failures on copy Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 07/22] reftable/record: handle allocation failures when decoding records Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 08/22] reftable/writer: handle allocation failures in `writer_index_hash()` Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 09/22] reftable/writer: handle allocation failures in `reftable_new_writer()` Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 10/22] reftable/merged: handle allocation failures in `merged_table_init_iter()` Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 11/22] reftable/reader: handle allocation failures for unindexed reader Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 12/22] reftable/reader: handle allocation failures in `reader_init_iter()` Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 13/22] reftable/stack: handle allocation failures on reload Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 14/22] reftable/stack: handle allocation failures in `reftable_new_stack()` Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 15/22] reftable/stack: handle allocation failures in `stack_compact_range()` Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 16/22] reftable/stack: handle allocation failures in auto compaction Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 17/22] reftable/iter: handle allocation failures when creating indexed table iter Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 18/22] reftable/blocksource: handle allocation failures Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 19/22] reftable/block: " Patrick Steinhardt
2024-09-24 6:32 ` [PATCH v2 20/22] reftable/pq: handle allocation failures when adding entries Patrick Steinhardt
2024-09-24 6:33 ` [PATCH v2 21/22] reftable/tree: handle allocation failures Patrick Steinhardt
2024-09-24 6:33 ` [PATCH v2 22/22] reftable: handle trivial " Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 00/22] refatble: handle allocation errors Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 01/22] reftable/error: introduce out-of-memory error code Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 02/22] reftable/basics: merge "publicbasics" into "basics" Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 03/22] reftable: introduce `reftable_strdup()` Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 04/22] reftable/basics: handle allocation failures in `reftable_calloc()` Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 05/22] reftable/basics: handle allocation failures in `parse_names()` Patrick Steinhardt
2024-09-30 17:40 ` René Scharfe
2024-09-30 8:08 ` [PATCH v3 06/22] reftable/record: handle allocation failures on copy Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 07/22] reftable/record: handle allocation failures when decoding records Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 08/22] reftable/writer: handle allocation failures in `writer_index_hash()` Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 09/22] reftable/writer: handle allocation failures in `reftable_new_writer()` Patrick Steinhardt
2024-09-30 17:40 ` René Scharfe
2024-09-30 18:22 ` Patrick Steinhardt
2024-09-30 19:11 ` Junio C Hamano
2024-09-30 8:08 ` [PATCH v3 10/22] reftable/merged: handle allocation failures in `merged_table_init_iter()` Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 11/22] reftable/reader: handle allocation failures for unindexed reader Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 12/22] reftable/reader: handle allocation failures in `reader_init_iter()` Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 13/22] reftable/stack: handle allocation failures on reload Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 14/22] reftable/stack: handle allocation failures in `reftable_new_stack()` Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 15/22] reftable/stack: handle allocation failures in `stack_compact_range()` Patrick Steinhardt
2024-09-30 8:08 ` [PATCH v3 16/22] reftable/stack: handle allocation failures in auto compaction Patrick Steinhardt
2024-09-30 8:09 ` [PATCH v3 17/22] reftable/iter: handle allocation failures when creating indexed table iter Patrick Steinhardt
2024-09-30 8:09 ` [PATCH v3 18/22] reftable/blocksource: handle allocation failures Patrick Steinhardt
2024-09-30 8:09 ` [PATCH v3 19/22] reftable/block: " Patrick Steinhardt
2024-09-30 8:09 ` [PATCH v3 20/22] reftable/pq: handle allocation failures when adding entries Patrick Steinhardt
2024-09-30 8:09 ` [PATCH v3 21/22] reftable/tree: handle allocation failures Patrick Steinhardt
2024-09-30 8:09 ` [PATCH v3 22/22] reftable: handle trivial " Patrick Steinhardt
2024-09-30 18:18 ` [PATCH v3 00/22] refatble: handle allocation errors Junio C Hamano
2024-10-01 9:41 ` [PATCH v4 00/25] reftable: " Patrick Steinhardt
2024-10-01 9:41 ` [PATCH v4 01/25] reftable/error: introduce out-of-memory error code Patrick Steinhardt
2024-10-01 9:41 ` [PATCH v4 02/25] reftable/basics: merge "publicbasics" into "basics" Patrick Steinhardt
2024-10-01 9:41 ` [PATCH v4 03/25] reftable: introduce `reftable_strdup()` Patrick Steinhardt
2024-10-01 9:41 ` [PATCH v4 04/25] reftable/basics: handle allocation failures in `reftable_calloc()` Patrick Steinhardt
2024-10-01 9:41 ` [PATCH v4 05/25] reftable/basics: handle allocation failures in `parse_names()` Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 06/25] reftable/record: handle allocation failures on copy Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 07/25] reftable/record: handle allocation failures when decoding records Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 08/25] reftable/writer: handle allocation failures in `writer_index_hash()` Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 09/25] reftable/writer: handle allocation failures in `reftable_new_writer()` Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 10/25] reftable/merged: handle allocation failures in `merged_table_init_iter()` Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 11/25] reftable/reader: handle allocation failures for unindexed reader Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 12/25] reftable/reader: handle allocation failures in `reader_init_iter()` Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 13/25] reftable/stack: handle allocation failures on reload Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 14/25] reftable/stack: handle allocation failures in `reftable_new_stack()` Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 15/25] reftable/stack: handle allocation failures in `stack_compact_range()` Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 16/25] reftable/stack: handle allocation failures in auto compaction Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 17/25] reftable/iter: handle allocation failures when creating indexed table iter Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 18/25] reftable/blocksource: handle allocation failures Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 19/25] reftable/block: " Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 20/25] reftable/pq: handle allocation failures when adding entries Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 21/25] reftable/tree: handle allocation failures Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 22/25] reftable: handle trivial " Patrick Steinhardt
2024-10-01 9:42 ` [PATCH v4 23/25] reftable: fix calls to free(3P) Patrick Steinhardt
2024-10-01 9:43 ` [PATCH v4 24/25] reftable: introduce `REFTABLE_FREE_AND_NULL()` Patrick Steinhardt
2024-10-01 9:43 ` [PATCH v4 25/25] reftable/basics: ban standard allocator functions Patrick Steinhardt
2024-10-01 22:50 ` Junio C Hamano
2024-10-02 4:30 ` Patrick Steinhardt
2024-10-01 17:52 ` [PATCH v4 00/25] reftable: handle allocation errors Junio C Hamano
2024-10-01 18:30 ` René Scharfe
2024-10-01 19:25 ` Junio C Hamano
2024-10-02 4:29 ` Patrick Steinhardt
2024-10-02 18:04 ` Junio C Hamano
2024-10-02 10:55 ` [PATCH v5 " Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 01/25] reftable/error: introduce out-of-memory error code Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 02/25] reftable/basics: merge "publicbasics" into "basics" Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 03/25] reftable: introduce `reftable_strdup()` Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 04/25] reftable/basics: handle allocation failures in `reftable_calloc()` Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 05/25] reftable/basics: handle allocation failures in `parse_names()` Patrick Steinhardt
2024-10-02 22:07 ` Eric Sunshine
2024-10-04 4:58 ` Patrick Steinhardt
2024-10-04 5:43 ` Eric Sunshine
2024-10-02 10:55 ` [PATCH v5 06/25] reftable/record: handle allocation failures on copy Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 07/25] reftable/record: handle allocation failures when decoding records Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 08/25] reftable/writer: handle allocation failures in `writer_index_hash()` Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 09/25] reftable/writer: handle allocation failures in `reftable_new_writer()` Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 10/25] reftable/merged: handle allocation failures in `merged_table_init_iter()` Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 11/25] reftable/reader: handle allocation failures for unindexed reader Patrick Steinhardt
2024-10-02 10:55 ` [PATCH v5 12/25] reftable/reader: handle allocation failures in `reader_init_iter()` Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 13/25] reftable/stack: handle allocation failures on reload Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 14/25] reftable/stack: handle allocation failures in `reftable_new_stack()` Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 15/25] reftable/stack: handle allocation failures in `stack_compact_range()` Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 16/25] reftable/stack: handle allocation failures in auto compaction Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 17/25] reftable/iter: handle allocation failures when creating indexed table iter Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 18/25] reftable/blocksource: handle allocation failures Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 19/25] reftable/block: " Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 20/25] reftable/pq: handle allocation failures when adding entries Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 21/25] reftable/tree: handle allocation failures Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 22/25] reftable: handle trivial " Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 23/25] reftable: fix calls to free(3P) Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 24/25] reftable: introduce `REFTABLE_FREE_AND_NULL()` Patrick Steinhardt
2024-10-02 10:56 ` [PATCH v5 25/25] reftable/basics: ban standard allocator functions Patrick Steinhardt
2024-10-02 19:32 ` [PATCH v5 00/25] reftable: handle allocation errors Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1727158127.git.ps@pks.im \
--to=ps@pks.im \
--cc=ethomson@edwardthomson.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).