Re: [PATCH] Fix git-fsck-cache segfault on invalid tag
- From
Petr Baudis <pasky@ucw.cz>
- Date
- May 20, 2005, 08:50 UTC
- Message-ID
- <20050520085047.GA27787@pasky.ji.cz>
- In-Reply-To
- <428D8B19.4070605@tuxrocks.com>
Dear diary, on Fri, May 20, 2005 at 09:00:41AM CEST, I got a letter where Frank Sorenson <frank@tuxrocks.com> told me that...
> git-fsck-cache will segfault if a tag contains a non-existent sha1. This > patch fixes fsck-cache to report the invalid tag and not die.
Oh. I've fixed this too but didn't even get to commit it yet. :-)
Show 15 quoted lines
> Index: fsck-cache.c
> ===================================================================
> --- ca5fef50fb68a3afbb35e1a48ac622f7a964f021/fsck-cache.c (mode:100644)
> +++ ac5d65a040c22194ddcd0706dc5f0b8bb52aef65/fsck-cache.c (mode:100644)
> @@ -315,6 +315,10 @@
> return;
>
> obj = lookup_object(sha1);
> + if (!obj) {
> + fprintf(stderr, "invalid tag %s - %s\n", path, hexname);
> + return;
> + }
> obj->used = 1;
> mark_reachable(obj, REACHABLE);
> }My error message is
error("%s: invalid sha1 pointer %.40s", path, hexname);I'd prefer that (at least use the error() call). The .40 is there since it has a newline on its own.
-- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor