git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 4/4] t-reftable-merged: check realloc errors

From
René Scharfe <l.s.r@web.de>
Date
Dec 27, 2024, 20:16 UTC
Message-ID
<6112daa0-190e-4d15-9b00-98fbc2a69fa3@web.de>
In-Reply-To
<Z26CmZEMQeqGFuEs@pks.im>
Am 27.12.24 um 11:34 schrieb Patrick Steinhardt:
Show 16 quoted lines
> On Thu, Dec 26, 2024 at 09:46:51PM -0800, Junio C Hamano wrote:
>> René Scharfe <l.s.r@web.de> writes:
>>
>>> Report reallocation errors in unit tests, like everywhere else.
>>
>> OK.  That's good for consistency if anything else.
>>
>> We have a test framework for doing unit test at such low level, yet
>> we cannot really write tests that validates that the right thing
>> happens when a particular realloc() call returns NULL, which feels
>> somewhat disappointing, but that is not a fault of this series.
>
> In the context of the reftable library we can because we've got
> pluggable allocators. We could in theory swap them out against variants
> that fail, but it's not easy to make them fail in one specific code
> path. For the case at hand though it would work alright.

It should be easy and safe to provide allocator stubs that just fail and swap them in and out with reftable_set_alloc() before and after an operation that performs a single allocation. Will add basic tests in the next round.

Injecting an allocation error in the middle of parse_names() would require a version that starts failing after a certain number of allocations (or allocated bytes). Possible, but not in scope for this series.

René
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 15 of 25 in “reftable: fix realloc error handling”
  1. 0/4 reftable: fix realloc error handlingRené Scharfe, Dec 25, 2024
  2. 1/4 reftable: avoid leaks on realloc errorRené Scharfe, Dec 25, 2024
  3. Junio C HamanoDec 27, 2024
  4. Patrick SteinhardtDec 27, 2024
  5. René ScharfeDec 27, 2024
  6. Patrick SteinhardtDec 30, 2024
  7. 2/4 reftable: fix allocation count on realloc errorRené Scharfe, Dec 25, 2024
  8. Patrick SteinhardtDec 27, 2024
  9. René ScharfeDec 27, 2024
  10. René ScharfeDec 27, 2024
  11. 3/4 reftable: handle realloc error in parse_names()René Scharfe, Dec 25, 2024
  12. 4/4 t-reftable-merged: check realloc errorsRené Scharfe, Dec 25, 2024
  13. Junio C HamanoDec 27, 2024
  14. Patrick SteinhardtDec 27, 2024
  15. René ScharfeDec 27, 2024
  16. Patrick SteinhardtDec 27, 2024
  17. Junio C HamanoDec 27, 2024
  18. 0/4 reftable: fix realloc error handlingRené Scharfe, Dec 28, 2024
  19. 1/4 reftable: avoid leaks on realloc errorRené Scharfe, Dec 28, 2024
  20. Patrick SteinhardtDec 30, 2024
  21. 2/4 reftable: fix allocation count on realloc errorRené Scharfe, Dec 28, 2024
  22. 3/4 reftable: handle realloc error in parse_names()René Scharfe, Dec 28, 2024
  23. Patrick SteinhardtDec 30, 2024
  24. 4/4 t-reftable-merged: handle realloc errorsRené Scharfe, Dec 28, 2024
  25. Patrick SteinhardtDec 30, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.