Thread (227 messages) 227 messages, 10 authors, 2019-01-07

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help