Re: [PATCH] bisect: save heap memory. allocate only the required amount
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 25, 2014, 18:26 UTC
- Message-ID
- <xmqq8umcmnmo.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20140825150028.GA28176@peff.net>
Jeff King <peff@peff.net> writes:
Show 22 quoted lines
> On Mon, Aug 25, 2014 at 04:06:52PM +0200, Christian Couder wrote:
>
>> > This allocation should be name_len + 1 for the NUL-terminator, no?
>>
>> I wondered about that too, but as struct name_decoration is defined like this:
>>
>> struct name_decoration {
>> struct name_decoration *next;
>> int type;
>> char name[1];
>> };
>>
>> the .name field of this struct already has one char, so the allocation
>> above should be ok.
>
> Yeah, you're right. I would argue it should just be FLEX_ARRAY for
> consistency with other spots, though (in which case add_name_decoration
> needs to be updated with a +1).
>
> Running "git grep '^ char [^ ]*\[[01]]' -- '*.[ch]'" shows that this
> is one of only two spots that don't use FLEX_ARRAY (and the other has a
> comment explaining why not).Good digging, and I agree that it should use the FLEX_ARRAY for consistency.