summaryrefslogtreecommitdiff
path: root/src/indexer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/indexer.c')
-rw-r--r--src/indexer.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/indexer.c b/src/indexer.c
index 7a2b28ae3..fcc0229e3 100644
--- a/src/indexer.c
+++ b/src/indexer.c
@@ -104,8 +104,10 @@ int git_indexer_new(git_indexer **out, const char *packname)
namelen = strlen(packname);
idx->pack = git__malloc(sizeof(struct git_pack_file) + namelen + 1);
- if (idx->pack == NULL)
+ if (idx->pack == NULL) {
+ error = GIT_ENOMEM;
goto cleanup;
+ }
memset(idx->pack, 0x0, sizeof(struct git_pack_file));
memcpy(idx->pack->pack_name, packname, namelen + 1);
@@ -127,7 +129,7 @@ int git_indexer_new(git_indexer **out, const char *packname)
}
idx->pack->mwf.fd = ret;
- idx->pack->mwf.size = idx->st.st_size;
+ idx->pack->mwf.size = (git_off_t)idx->st.st_size;
error = parse_header(idx);
if (error < GIT_SUCCESS) {
@@ -170,7 +172,7 @@ int git_indexer_write(git_indexer *idx)
{
git_mwindow *w = NULL;
int error, namelen;
- unsigned int i, long_offsets, left;
+ unsigned int i, long_offsets = 0, left;
struct git_pack_idx_header hdr;
char filename[GIT_PATH_MAX];
struct entry *entry;