From: Johannes Schindelin Date: Tue, 01 Jul 2008 16:39:11 GMT Subject: Re: [PATCH?] Fix 'git show' on signed tag of signed tag of commit Message-ID: In-Reply-To: <1214905624-29517-1-git-send-email-trast@student.ethz.ch> Hi, On Tue, 1 Jul 2008, Thomas Rast wrote: > The cmd_show loop resolves tags by showing them, then pointing the > object to the 'tagged' member. However, this object is not fully > initialized; it only contains the SHA1. (This resulted in a segfault > if there were two levels of tags.) We apply parse_object to get a > full object. > > Noticed by Kalle Olavi Niemitalo on IRC. > > Signed-off-by: Thomas Rast > --- > > I'm not 100% sure this is the right fix; I just had a quick stab at the > code, made a fix and tested it. It probably leaks memory too, not sure > if this is a problem. AFAICT this is the correct way to solve the problem. We do not "leak" memory here, since we just assume objects to be singletons (they are immutable, after all). FWIW I had a "release_all_objects()" function in my personal fork for a long time, which was quite painful to write. But maintaining the "move all builtins into libgit.a and avoid fork()&&exec()ing them" patch was the only user, and since it became way too painful to maintain out of the tree, I dropped both. Ciao, Dscho