Re: [PATCH v16 Part II 2/8] bisect--helper: `bisect_write` shell function in C
From: Pranit Bauva <hidden>
Date: 2017-10-30 17:35:20
Hey Martin, On Fri, Oct 27, 2017 at 10:58 PM, Martin Ågren [off-list ref] wrote:
On 27 October 2017 at 17:06, Pranit Bauva [off-list ref] wrote:quoted
+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