diff options
Diffstat (limited to 'src/indexer.c')
-rw-r--r-- | src/indexer.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/indexer.c b/src/indexer.c index eb8b23e92..8daff3dc4 100644 --- a/src/indexer.c +++ b/src/indexer.c @@ -435,6 +435,8 @@ static int write_at(git_indexer *idx, const void *data, git_off_t offset, size_t git_map map; int error; + assert(data && size); + /* the offset needs to be at the beginning of the a page boundary */ page_start = (offset / page_size) * page_size; page_offset = offset - page_start; @@ -453,6 +455,9 @@ static int append_to_pack(git_indexer *idx, const void *data, size_t size) { git_off_t current_size = idx->pack->mwf.size; + if (!size) + return 0; + /* add the extra space we need at the end */ if (p_ftruncate(idx->pack->mwf.fd, current_size + size) < 0) { giterr_system_set(errno); |