"Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > Let's start at the bottom of the stack by teaching the > `paint_down_to_common()` function to return an `int`: if negative, it > indicates fatal error, if 0 success. Kind of pedantic but the above doesn't describe the real change, i.e. a value != 0 indicates a fatal error: > - common = paint_down_to_common(r, array[i], filled, > - work, min_generation, 0); > + if (paint_down_to_common(r, array[i], filled, > + work, min_generation, 0, &common)) { > + clear_commit_marks(array[i], all_flags); > + clear_commit_marks_many(filled, work, all_flags); > + free_commit_list(common); > + free(work); > + free(redundant); > + free(filled_index); > + return -1; > + } Dirk