Subject: Re: [PATCH v2 7/7] unpack-trees: free cache_entry array members for merges

From: René Scharfe <[email-masked]>
Date: Sun, 02 Jun 2013 19:54:03 +0200

Am 02.06.2013 19:25, schrieb Felipe Contreras:
> On Sun, Jun 2, 2013 at 10:46 AM, René Scharfe
> <[email-masked]> wrote:
>> +               for (i = 0; i < n; i++) {
>> +                       struct cache_entry *ce = src[i + o->merge];
>> +                       if (ce != o->df_conflict_entry)
>
> It's possible that ce is NULL, but you didn't add that check because
> free(NULL) still works? Or because ce cannot be NULL?
>
> If it's the former, I think it's clearer if we check that ce is not
> NULL either way.

It is NULL if one tree misses an entry (e.g. a new or removed file). 
free handles NULL and we generally avoid duplicating its NULL-check.

You're probably referring to the non-merge case as the example for 
checking.  That one is different, though, because there we call 
do_add_entry instead of free, which does not handle NULL.  And it 
doesn't have to, as it is mostly called through add_entry, which never 
passes NULL.

René