Catch invalid filenames in append_entry() This prevents the index api from calling write_tree() with a bogus tree.
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);