Commit 0d778b1a892d53161b4392ed75adcb3dcfe1a3df

Scott J. Goldman 2012-11-18T16:52:04

Catch invalid filenames in append_entry() This prevents the index api from calling write_tree() with a bogus tree.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/tree.c b/src/tree.c
index 150f90c..6f98388 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -374,6 +374,9 @@ static int append_entry(
 {
 	git_tree_entry *entry;
 
+	if (!valid_entry_name(filename))
+		return tree_error("Failed to insert entry. Invalid name for a tree entry");
+
 	entry = alloc_entry(filename);
 	GITERR_CHECK_ALLOC(entry);