http-fetch.c: fix objects/info/pack parsing.
It failed to register the last pack in the objects/info/packs file. Also it had an independent overrun error. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
21b1aced83
commit
455c161c47
@ -658,7 +658,7 @@ static int fetch_indices(struct alt_base *repo)
|
|||||||
switch (data[i]) {
|
switch (data[i]) {
|
||||||
case 'P':
|
case 'P':
|
||||||
i++;
|
i++;
|
||||||
if (i + 52 < buffer.posn &&
|
if (i + 52 <= buffer.posn &&
|
||||||
!strncmp(data + i, " pack-", 6) &&
|
!strncmp(data + i, " pack-", 6) &&
|
||||||
!strncmp(data + i + 46, ".pack\n", 6)) {
|
!strncmp(data + i + 46, ".pack\n", 6)) {
|
||||||
get_sha1_hex(data + i + 6, sha1);
|
get_sha1_hex(data + i + 6, sha1);
|
||||||
@ -667,7 +667,7 @@ static int fetch_indices(struct alt_base *repo)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
while (data[i] != '\n')
|
while (i < buffer.posn && data[i] != '\n')
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
|
Loading…
Reference in New Issue
Block a user