Stefan Beller <sbeller@xxxxxxxxxx> writes: > On Wed, Jan 13, 2016 at 2:03 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> Stefan Beller <sbeller@xxxxxxxxxx> writes: >>> + while (url) { >>> + if (starts_with_dot_dot_slash(url)) { >>> + char *rfind; >>> + url += 3; >>> + >>> + rfind = last_dir_separator(remoteurl); >>> + if (rfind) >>> + *rfind = '\0'; >>> + else { >>> + rfind = strrchr(remoteurl, ':'); >>> + if (rfind) { >>> + *rfind = '\0'; >>> + colonsep = 1; >>> + } else { >>> + if (is_relative || !strcmp(".", remoteurl)) >>> + die(_("cannot strip one component off url '%s'"), remoteurl); >>> + else >>> + remoteurl = xstrdup("."); >>> + } >>> + } >> >> It is somewhat hard to see how this avoids stripping one (or both) >> slashes just after "http:" in remoteurl="http://site/path/", leaving >> just "http:/" (or "http:"). > > it would leave just 'http:/' if url were to be ../../some/where/else, > such that the constructed url below would be http://some/where/else. Is that a good outcome, though? Isn't it something we would want to catch as an error? -- 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