summaryrefslogtreecommitdiff
path: root/server-info.c
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-01-31 07:24:44 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-01-31 21:09:58 (GMT)
commit76f8a302c73d7fe26b2034ab4d1dde64de39c8df (patch)
treeb114257e7a90a53649d4c5a3a9df06987e1f17dd /server-info.c
parentd117452a801af081ebaf2c516e2d715eacf37601 (diff)
downloadgit-76f8a302c73d7fe26b2034ab4d1dde64de39c8df.zip
git-76f8a302c73d7fe26b2034ab4d1dde64de39c8df.tar.gz
git-76f8a302c73d7fe26b2034ab4d1dde64de39c8df.tar.bz2
Don't coredump on bad refs in update-server-info.
Apparently if we are unable to parse an object update-server-info coredumps, as it doesn't bother to check the return value of its call to parse_object. Instead of coredumping, skip the ref. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'server-info.c')
-rw-r--r--server-info.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/server-info.c b/server-info.c
index 6cd38be..f9be5a7 100644
--- a/server-info.c
+++ b/server-info.c
@@ -10,6 +10,8 @@ static FILE *info_ref_fp;
static int add_info_ref(const char *path, const unsigned char *sha1, int flag, void *cb_data)
{
struct object *o = parse_object(sha1);
+ if (!o)
+ return -1;
fprintf(info_ref_fp, "%s %s\n", sha1_to_hex(sha1), path);
if (o->type == OBJ_TAG) {