diff options
author | Scott J. Goldman <scottjg@github.com> | 2012-11-18 16:52:04 -0800 |
---|---|---|
committer | Scott J. Goldman <scottjg@github.com> | 2012-11-18 16:52:04 -0800 |
commit | 0d778b1a892d53161b4392ed75adcb3dcfe1a3df (patch) | |
tree | 751b5e4e84a0be800f196ed4f588b697d2b57b31 /src/tree.c | |
parent | 19af78bb36b144022d7dbe68605c8715cd6dc322 (diff) | |
download | libgit2-0d778b1a892d53161b4392ed75adcb3dcfe1a3df.tar.gz |
Catch invalid filenames in append_entry()
This prevents the index api from calling write_tree() with a
bogus tree.
Diffstat (limited to 'src/tree.c')
-rw-r--r-- | src/tree.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/tree.c b/src/tree.c index 150f90c44..6f9838880 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); |