summaryrefslogtreecommitdiff
path: root/src/diff_patch.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/diff_patch.c')
-rw-r--r--src/diff_patch.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/diff_patch.c b/src/diff_patch.c
index f5eecae66..1c4c0e8b8 100644
--- a/src/diff_patch.c
+++ b/src/diff_patch.c
@@ -388,16 +388,11 @@ static int diff_patch_with_delta_alloc(
diff_patch_with_delta *pd;
size_t old_len = *old_path ? strlen(*old_path) : 0;
size_t new_len = *new_path ? strlen(*new_path) : 0;
- size_t alloc_len = sizeof(*pd);
+ size_t alloc_len;
- GITERR_CHECK_ALLOC_ADD(alloc_len, old_len);
- alloc_len += old_len;
-
- GITERR_CHECK_ALLOC_ADD(alloc_len, new_len);
- alloc_len += new_len;
-
- GITERR_CHECK_ALLOC_ADD(alloc_len, 2);
- alloc_len += 2;
+ GITERR_CHECK_ALLOC_ADD(&alloc_len, sizeof(*pd), old_len);
+ GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, new_len);
+ GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
*out = pd = git__calloc(1, alloc_len);
GITERR_CHECK_ALLOC(pd);