Re: [PATCH] commit: fix memory leak in `prepare_index()`

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 20, 2017 at 09:47:23PM +0200, Martin Ågren wrote:

> Release `pathspec` and the string list `partial`.

Makes sense.

> When we clear the string list, make sure we do not free the `util`
> pointers. That would result in double-freeing, since we set them up as
> `item->util = item` in `list_paths()`.

Also makes sense (and is kind of weird; it looks like we're just using
it as a magic flag. But that's outside the scope of your patch).

> Initialize the string list early, so that we can always release it. That
> introduces some unnecessary overhead in various code paths, but means
> there is one and only one way out of the function. If we ever accumulate
> more things we need to free, it should be straightforward to do so.

The overhead is fine. It's just writing the struct entries, not
allocating anything. I wondered if the pathspec needed a similar
initialization (since you can't tell just from reading the context), but
no, it's initialized as the first thing in the function.

> Signed-off-by: Martin Ågren <martin.agren@xxxxxxxxx>
> ---
>  builtin/commit.c | 15 ++++++++++-----
>  1 file changed, 10 insertions(+), 5 deletions(-)

Looks good to me. Thanks.

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux