On Tue, 12 Feb 2008, Martin Koegler wrote: > On Tue, Feb 12, 2008 at 03:22:17PM -0500, Nicolas Pitre wrote: > > On Tue, 12 Feb 2008, Martin Koegler wrote: > > > We will need some additional memory for struct blob/tree/tag/commit > > > even for this check. > > > > Why so? > > > > Each received object is stored in memory when received, so why can't you > > simply validate it in place? No need to keep trace of them afterward. > > Freeing the data is not my problem. Well, I would say it is now. ;-) > Many validations are in parse_XXX_buffer, which are also used by > fsck. This returns a struct commit/tree/tag/blob. > > I have not found any code in git to free them. Maybe we should add it then. Especially in the usual case where we want incoming objects to be validated. > Same for pack-objects, e.g. add_objects_in_unpacked_packs allocates > many struct object via lookup_unknown_object. As far as I understand > the code, they are never freed, even if they are not needed later. Hmmm, that's bad. Nicolas - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html