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

[PATCH?] Fix 'git show' on signed tag of signed tag of commit

From
Thomas Rast <trast@student.ethz.ch>
Date
Jul 1, 2008, 09:47 UTC
Message-ID
<1214905624-29517-1-git-send-email-trast@student.ethz.ch>

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 <trast@student.ethz.ch>
---

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.

- Thomas
 builtin-log.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-log.c b/builtin-log.c
index 9817d6f..9979e37 100644
--- a/builtin-log.c
+++ b/builtin-log.c
@@ -360,7 +360,7 @@ int cmd_show(int argc, const char **argv, const char *prefix)
 					t->tag,
 					diff_get_color_opt(&rev.diffopt, DIFF_RESET));
 			ret = show_object(o->sha1, 1, &rev);
-			objects[i].item = (struct object *)t->tagged;
+			objects[i].item = parse_object(t->tagged->sha1);
 			i--;
 			break;
 		}
-- 
1.5.6.1.246.g5fc88.dirty
Next: Johannes Schindelin
Message 1 of 3 in “Fix 'git show' on signed tag of signed tag of commit”
  1. Fix 'git show' on signed tag of signed tag of commitThomas Rast, Jul 1, 2008
  2. Johannes SchindelinJul 1, 2008
  3. Junio C HamanoJul 1, 2008

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.