From: Johannes Schindelin Date: Fri, 09 Nov 2007 23:51:12 GMT Subject: Re: [PATCH 01/11] Fix memory leak in traverse_commit_list Message-ID: In-Reply-To: <7vmytnqbu2.fsf@gitster.siamese.dyndns.org> Hi, On Fri, 9 Nov 2007, Junio C Hamano wrote: > "Shawn O. Pearce" writes: > > > diff --git a/list-objects.c b/list-objects.c > > index e5c88c2..713bef9 100644 > > --- a/list-objects.c > > +++ b/list-objects.c > > @@ -170,4 +170,11 @@ void traverse_commit_list(struct rev_info *revs, > > } > > for (i = 0; i < objects.nr; i++) > > show_object(&objects.objects[i]); > > + free(objects.objects); > > + if (revs->pending.nr) { > > + revs->pending.nr = 0; > > + revs->pending.alloc = 0; > > + revs->pending.objects = NULL; > > + free(revs->pending.objects); Umm. Isn't this the wrong way around? Should you not free() first, and then set to NULL? Ciao, Dscho