Merge branch 'jk/http-walker-buffer-underflow-fix'
"Dumb http" transport used to misparse a nonsense http-alternates response, which has been fixed. * jk/http-walker-buffer-underflow-fix: http-walker: fix buffer underflow processing remote alternates
This commit is contained in:
commit
2af882be01
@ -301,13 +301,16 @@ static void process_alternates_response(void *callback_data)
|
|||||||
okay = 1;
|
okay = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* skip "objects\n" at end */
|
|
||||||
if (okay) {
|
if (okay) {
|
||||||
struct strbuf target = STRBUF_INIT;
|
struct strbuf target = STRBUF_INIT;
|
||||||
strbuf_add(&target, base, serverlen);
|
strbuf_add(&target, base, serverlen);
|
||||||
strbuf_add(&target, data + i, posn - i - 7);
|
strbuf_add(&target, data + i, posn - i);
|
||||||
|
if (!strbuf_strip_suffix(&target, "objects")) {
|
||||||
if (is_alternate_allowed(target.buf)) {
|
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",
|
warning("adding alternate object store: %s",
|
||||||
target.buf);
|
target.buf);
|
||||||
newalt = xmalloc(sizeof(*newalt));
|
newalt = xmalloc(sizeof(*newalt));
|
||||||
|
Loading…
Reference in New Issue
Block a user