On Fri, Apr 15 2022, Carlo Marcelo Arenas Belón wrote: > 1214aa841bc (reftable: add blocksource, an abstraction for random > access reads, 2021-10-07), makes the assumption that it is ok to > free a reftable_block pointing to NULL if the size is also set to > 0, but implements that using a memset call that at least in glibc > based system will trigger a runtime exception if called with a > NULL pointer as its first parameter. FWIW I've been carrying 1/2 here for a while in my local tree, i.e. reftable/* has various abstractions and indirections that aren't really needed. In this case we can just get rid of that & free them, so the memset()s you fixed can just be removed. The 2/2 is then another memset() issue I spotted when looking at this again, -fanalyzer notes the bug related to it. Ævar Arnfjörð Bjarmason (2): reftable: remove the "return_block" abstraction reftable: don't memset() a NULL from failed malloc() reftable/block.c | 4 +--- reftable/blocksource.c | 28 +--------------------------- reftable/publicbasics.c | 2 ++ reftable/reftable-blocksource.h | 2 -- 4 files changed, 4 insertions(+), 32 deletions(-) -- 2.36.0.rc2.863.gfc2c14e3b91