On Tue, Mar 29, 2016 at 9:11 PM, Jeff King <[email protected]> wrote:
> On Tue, Mar 29, 2016 at 05:38:51PM -0700, Stefan Beller wrote:
>> `split` is of type `struct strbuf **` and just before the new free,
>> we release the inner strbufs. Make sure to also release the memory
>> containing the pointers to the individual strbufs.
>>
>> Signed-off-by: Stefan Beller <[email protected]>
>> ---
>> diff --git a/wt-status.c b/wt-status.c
>> @@ -1065,7 +1065,7 @@ static void abbrev_sha1_in_line(struct strbuf *line)
>> }
>> for (i = 0; split[i]; i++)
>> strbuf_release(split[i]);
>> -
>> + free(split);
>> }
>
> I think this can just combine with the for-loop above to become
> strbuf_list_free().
The implementation of strbuf_list_free() is this:
struct strbuf **s = sbs;
while (*s) {
strbuf_release(*s);
free(*s++);
}
free(sbs);
which means that wt-status.c is leaking not only 'split', but also
each element of split[], right?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html