Commit 51124a5b233b15e9057f5a241f3f42d549c463d0

Edward Thomson 2019-07-17T17:33:34

Merge pull request #5170 from bk2204/packbuilder-efficient-realloc Allocate memory more efficiently when packing objects

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/pack-objects.c b/src/pack-objects.c
index 32f51a3..49ded4a 100644
--- a/src/pack-objects.c
+++ b/src/pack-objects.c
@@ -223,7 +223,7 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
 
 	if (pb->nr_objects >= pb->nr_alloc) {
 		GIT_ERROR_CHECK_ALLOC_ADD(&newsize, pb->nr_alloc, 1024);
-		GIT_ERROR_CHECK_ALLOC_MULTIPLY(&newsize, newsize, 3 / 2);
+		GIT_ERROR_CHECK_ALLOC_MULTIPLY(&newsize, newsize / 2, 3);
 
 		if (!git__is_uint32(newsize)) {
 			git_error_set(GIT_ERROR_NOMEMORY, "packfile too large to fit in memory.");