Commit 025a0709 authored by Junio C Hamano's avatar Junio C Hamano Committed by Linus Torvalds

[PATCH] Bugfix: read-cache.c:write_cache() misrecords number of entries.

When we choose to omit deleted entries, we should subtract
numbers of such entries from the total number in the header.
Signed-off-by: default avatarJunio C Hamano <[email protected]>

Oops.
Signed-off-by: default avatarLinus Torvalds <[email protected]>
parent aa16021e
......@@ -440,11 +440,15 @@ int write_cache(int newfd, struct cache_entry **cache, int entries)
{
SHA_CTX c;
struct cache_header hdr;
int i;
int i, removed;
for (i = removed = 0; i < entries; i++)
if (!cache[i]->ce_mode)
removed++;
hdr.hdr_signature = htonl(CACHE_SIGNATURE);
hdr.hdr_version = htonl(2);
hdr.hdr_entries = htonl(entries);
hdr.hdr_entries = htonl(entries - removed);
SHA1_Init(&c);
if (ce_write(&c, newfd, &hdr, sizeof(hdr)) < 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment