fast-import: don't allow 'ls' of path with empty components
[gitweb.git] / fast-import.c
index 6c37b8400a143db55e3e16c6a3af788aa0467322..47f61f3cba7b7a4cde8ae116cbce38116562bda6 100644 (file)
@@ -1640,6 +1640,8 @@ static int tree_content_get(
                n = slash1 - p;
        else
                n = strlen(p);
+       if (!n)
+               die("Empty path component found in input");
 
        if (!root->tree)
                load_tree(root);
@@ -2987,6 +2989,8 @@ static void parse_ls(struct branch *b)
                store_tree(&leaf);
 
        print_ls(leaf.versions[1].mode, leaf.versions[1].sha1, p);
+       if (leaf.tree)
+               release_tree_content_recursive(leaf.tree);
        if (!b || root != &b->branch_tree)
                release_tree_entry(root);
 }