From: René Scharfe Date: Sun, 02 Jun 2013 17:54:03 GMT Subject: Re: [PATCH v2 7/7] unpack-trees: free cache_entry array members for merges Message-ID: <51AB86BB.3080203@lsrfire.ath.cx> In-Reply-To: Am 02.06.2013 19:25, schrieb Felipe Contreras: > On Sun, Jun 2, 2013 at 10:46 AM, René Scharfe > 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é