Don't coredump on bad refs in update-server-info.
PATCH 1/1 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.
---
I don't know how often folks might run into this. I intentionally broke pack reading in one of my topics and discovered that update-server-info crashed with a segfault when the pack access code was unable to decompress the object behind the ref. That's less than optimal.
server-info.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
server-info.c +2 -0
@@ -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 ) {
Signature · 1 line
1.5.0.rc2.81.g73a2
Quoted 2 lines · Shawn O. Pearce
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
"Apparently if we are unable to parse an object _then_ update-server-info
coredumps" is a bit more easier to understand.
Signature · 3 lines
Jakub Narebski Warsaw, Poland ShadeHawk on #git