Benjamin Kramer <benny.kra@xxxxxxxxxxxxxx> writes: > On OS X (and maybe other unices) getaddrinfo(3) returns NULL > in the ai_canonname field if it is called with an IP address. > > steps to reproduce: > $ git daemon --export-all > $ git clone git://127.0.0.1/frotz > => git daemon's fork (silently) segfaults. > > Remove the pointless loop while at it. Hmm. This codepath comes from dd467629, both the loop and the use of getaddrinfo. I have a mild suspicion that the loop originally was meant to notice that an element in the addrinfo linked list is unusable and skip it to find a usable one in the list or something like that, but as it stands it processes the first entry (or fails to process and segfaults for you ;-) and breaks out, which indeed is pointless. But the part your patch touches is about supporting virtual hosting via pattern interpolation, and the daemon will still segfault even with your patch when somebody uses %CH expansion, because canon_hostname is left as NULL, won't it? I suspect in such a case it might be safer to use a copy of the ip_address or something. -- 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