Jeff King, Wed, Oct 10, 2007 07:10:35 +0200: > On Tue, Oct 09, 2007 at 08:20:43PM +0200, Alex Riesen wrote: > > > Your test does not crash on my system and your fix is obviously bogus. > > Just take a look at the only call site of the tail_link_ref: ret > > cannot be NULL. alloc_ref will crash in memset, if this were the case. > > His work is almost certainly on top of next, which crashes reliably with > the test and has an additional call site for tail_link_ref. Aside from > some trailing whitespace in the patch, I think his fix is reasonable. Ach, I see. Still, I'd suggest move the test into the caller, firstly because it is the only place that special. Also, I can't think of a proper reason to add a NULL ref to a reflist, and so the crashing tail_link_ref will help us find the callers which use tail_link_ref incorrectly (illogically too). As the result of patter expansion can be NULL (empty pattern, as it seems), lets just check for it. I parked the patch below locally. diff --git a/remote.c b/remote.c index 5e92378..58d63ed 100644 --- a/remote.c +++ b/remote.c @@ -884,7 +884,8 @@ int get_fetch_map(struct ref *remote_refs, rm->peer_ref->name); } - tail_link_ref(ref_map, tail); + if (ref_map) + tail_link_ref(ref_map, tail); return 0; } - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html