Patrick Steinhardt <ps@xxxxxx> writes: > The `reftable_stack_reload_maybe_reuse()` function is responsible for > reloading the reftable list from disk. The function is quite hard to > follow though because it has a bunch of different exit paths, many of > which have to free the same set of resources. > > Refactor the function to have a common exit path. While at it, touch up > the style of this function a bit to match our usual coding style better. > --- > reftable/stack.c | 86 +++++++++++++++++++++++------------------------- > 1 file changed, 42 insertions(+), 44 deletions(-) Missing sign-off. Other than that, I did not find anything questionable in the conversion. By sticking to the two simple invariants: - we use "err" as our return value when we jump to "out:" - we always keep "names" and "names_after" freeable, and free them when we jump to "out:". the exit status and leak prevention are both very clear (and the behaviour is not changed---it is not like there are any existing leaks that are plugged by this restructuring of the loop).