Subject: [PATCH 1/2] shallow: free local object_array allocations

From: "Samo Pogačnik via GitGitGadget" <[email-masked]>
Date: Tue, 09 Dec 2025 18:11:19 +0000

From: =?UTF-8?q?Samo=20Poga=C4=8Dnik?= <[email-masked]>

The local object_array 'stack' in get_shallow_commits() function
does not free its dynamic elements before the function returns.
As a result elements remain allocated and their reference forgotten.

Signed-off-by: Samo Pogačnik <[email-masked]>
---
 shallow.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/shallow.c b/shallow.c
index 55b9cd9d3f..497a25836b 100644
--- a/shallow.c
+++ b/shallow.c
@@ -198,6 +198,7 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth,
 		}
 	}
 	deep_clear_commit_depth(&depths, free_depth_in_slab);
+	object_array_clear(&stack);
 
 	return result;
 }
-- 
gitgitgadget