Commit 24953757 by Arthur Schreiber

Incorporate @arrbee's suggestions.

parent ac44b3d2
...@@ -644,19 +644,17 @@ static int inject_object(git_indexer *idx, git_oid *id) ...@@ -644,19 +644,17 @@ static int inject_object(git_indexer *idx, git_oid *id)
size_t len, hdr_len; size_t len, hdr_len;
int error; int error;
entry = git__calloc(1, sizeof(*entry));
GITERR_CHECK_ALLOC(entry);
entry_start = seek_back_trailer(idx); entry_start = seek_back_trailer(idx);
if (git_odb_read(&obj, idx->odb, id) < 0) { if (git_odb_read(&obj, idx->odb, id) < 0)
git__free(entry);
return -1; return -1;
}
data = git_odb_object_data(obj); data = git_odb_object_data(obj);
len = git_odb_object_size(obj); len = git_odb_object_size(obj);
entry = git__calloc(1, sizeof(*entry));
GITERR_CHECK_ALLOC(entry);
entry->crc = crc32(0L, Z_NULL, 0); entry->crc = crc32(0L, Z_NULL, 0);
/* Write out the object header */ /* Write out the object header */
...@@ -666,7 +664,7 @@ static int inject_object(git_indexer *idx, git_oid *id) ...@@ -666,7 +664,7 @@ static int inject_object(git_indexer *idx, git_oid *id)
entry->crc = crc32(entry->crc, hdr, hdr_len); entry->crc = crc32(entry->crc, hdr, hdr_len);
if ((error = git__compress(&buf, data, len)) < 0) if ((error = git__compress(&buf, data, len)) < 0)
goto error; goto cleanup;
/* And then the compressed object */ /* And then the compressed object */
git_filebuf_write(&idx->pack_file, buf.ptr, buf.size); git_filebuf_write(&idx->pack_file, buf.ptr, buf.size);
...@@ -676,7 +674,7 @@ static int inject_object(git_indexer *idx, git_oid *id) ...@@ -676,7 +674,7 @@ static int inject_object(git_indexer *idx, git_oid *id)
/* Write a fake trailer so the pack functions play ball */ /* Write a fake trailer so the pack functions play ball */
if ((error = git_filebuf_write(&idx->pack_file, &foo, GIT_OID_RAWSZ)) < 0) if ((error = git_filebuf_write(&idx->pack_file, &foo, GIT_OID_RAWSZ)) < 0)
goto error; goto cleanup;
idx->pack->mwf.size += GIT_OID_RAWSZ; idx->pack->mwf.size += GIT_OID_RAWSZ;
...@@ -687,14 +685,14 @@ static int inject_object(git_indexer *idx, git_oid *id) ...@@ -687,14 +685,14 @@ static int inject_object(git_indexer *idx, git_oid *id)
git_oid_cpy(&entry->oid, id); git_oid_cpy(&entry->oid, id);
idx->off = entry_start + hdr_len + len; idx->off = entry_start + hdr_len + len;
if (!(error = save_entry(idx, entry, pentry, entry_start))) error = save_entry(idx, entry, pentry, entry_start);
goto done;
error: cleanup:
git__free(entry); if (error) {
git__free(pentry); git__free(entry);
git__free(pentry);
}
done:
git_odb_object_free(obj); git_odb_object_free(obj);
return error; return error;
} }
......
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