summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--http-walker.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/http-walker.c b/http-walker.c
index ab7d5537ae..ee049cb13d 100644
--- a/http-walker.c
+++ b/http-walker.c
@@ -301,13 +301,16 @@ static void process_alternates_response(void *callback_data)
okay = 1;
}
}
- /* skip "objects\n" at end */
if (okay) {
struct strbuf target = STRBUF_INIT;
strbuf_add(&target, base, serverlen);
- strbuf_add(&target, data + i, posn - i - 7);
-
- if (is_alternate_allowed(target.buf)) {
+ strbuf_add(&target, data + i, posn - i);
+ if (!strbuf_strip_suffix(&target, "objects")) {
+ warning("ignoring alternate that does"
+ " not end in 'objects': %s",
+ target.buf);
+ strbuf_release(&target);
+ } else if (is_alternate_allowed(target.buf)) {
warning("adding alternate object store: %s",
target.buf);
newalt = xmalloc(sizeof(*newalt));