Subject: Re: [PATCH] bisect: save heap memory. allocate only the required amount

From: Junio C Hamano <[email-masked]>
Date: Mon, 25 Aug 2014 11:26:39 -0700

Jeff King <[email-masked]> writes:

> 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.