git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Frank SorensonNext: Junio C Hamano
Message 2 of 4 in “Fix git-fsck-cache segfault on invalid tag”
  1. Fix git-fsck-cache segfault on invalid tagFrank Sorenson, May 20, 2005
  2. Petr BaudisMay 20, 2005
  3. Junio C HamanoMay 20, 2005
  4. Frank SorensonMay 20, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.