threads / patch / 2037

patchReduce memory usage in git-update-server-info.

Subject: [PATCH] Reduce memory usage in git-update-server-info.

## tl;dr

One message between Oct 6, 2005 and Oct 6, 2005. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

robfitz@273k.net· Oct 6, 2005, 22:49 UTC · lore

Modify parse_object_cheap() to also free all the entries from the tree data structures.

Signed-off-by: Robert Fitzsimons <robfitz@273k.net>
---
 server-info.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

applies-to: fc843c89d12160dfe9704e7a0dd678cc729459cb 67be887f195205e36c7eec39b9caea249a435e95

Show changes to server-info.c +10 −0
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

← back to recent threads