Modify parse_object_cheap() to also free all the entries from the tree
data structures.
Signed-off-by: Robert Fitzsimons <redacted>
---
server-info.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
applies-to: fc843c89d12160dfe9704e7a0dd678cc729459cb
67be887f195205e36c7eec39b9caea249a435e95
diff --git a/server-info.c b/server-info.c
--- a/server-info.c
+++ b/server-info.c
@@ -59,6 +59,16 @@ static struct object *parse_object_cheap
struct commit *commit = (struct commit *)o;
free(commit->buffer);
commit->buffer = NULL;
+ } else if (o->type == tree_type) {
+ struct tree *tree = (struct tree *)o;
+ struct tree_entry_list *e, *n;
+ for (e = tree->entries; e; e = n) {
+ free(e->name);
+ e->name = NULL;
+ n = e->next;
+ free(e);
+ }
+ tree->entries = NULL;
}
return o;
}---
0.99.8.GIT