Hey Martin, On Fri, Oct 27, 2017 at 10:58 PM, Martin Ågren <martin.agren@xxxxxxxxx> wrote: > On 27 October 2017 at 17:06, Pranit Bauva <pranit.bauva@xxxxxxxxx> wrote: >> +static void free_terms(struct bisect_terms *terms) >> +{ >> + if (!terms->term_good) >> + free((void *) terms->term_good); >> + if (!terms->term_bad) >> + free((void *) terms->term_bad); >> +} > > These look like no-ops. Remove `!` for correctness, or `if (...)` for > simplicity, since `free()` can handle NULL. I probably forgot to do this here. I will make the change. > You leave the pointers dangling, but you're ok for now since this is the > last thing that happens in `cmd_bisect__helper()`. Your later patches > add more users, but they're also ok, since they immediately assign new > values. > > In case you (and others) find it useful, the below is a patch I've been > sitting on for a while as part of a series to plug various memory-leaks. > `FREE_AND_NULL_CONST()` would be useful in precisely these situations. Honestly, I wouldn't be the best person to judge this. Regards, Pranit Bauva