Re: [RFC Patch] Preventing corrupt objects from entering the repository
- From
Nicolas Pitre <nico@cam.org>
- Date
- Feb 12, 2008, 21:51 UTC
- Message-ID
- <alpine.LFD.1.00.0802121645121.2732@xanadu.home>
- In-Reply-To
- <20080212213858.GA29151@auto.tuwien.ac.at>
On Tue, 12 Feb 2008, Martin Koegler wrote:
Show 11 quoted lines
> 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