Browse Source

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>
maint
Junio C Hamano 19 years ago
parent
commit
455c161c47
  1. 4
      http-fetch.c

4
http-fetch.c

@ -658,7 +658,7 @@ static int fetch_indices(struct alt_base *repo) @@ -658,7 +658,7 @@ static int fetch_indices(struct alt_base *repo)
switch (data[i]) {
case 'P':
i++;
if (i + 52 < buffer.posn &&
if (i + 52 <= buffer.posn &&
!strncmp(data + i, " pack-", 6) &&
!strncmp(data + i + 46, ".pack\n", 6)) {
get_sha1_hex(data + i + 6, sha1);
@ -667,7 +667,7 @@ static int fetch_indices(struct alt_base *repo) @@ -667,7 +667,7 @@ static int fetch_indices(struct alt_base *repo)
break;
}
default:
while (data[i] != '\n')
while (i < buffer.posn && data[i] != '\n')
i++;
}
i++;

Loading…
Cancel
Save