File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed
Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change @@ -1641,6 +1641,8 @@ static int tree_content_get(
16411641 n = slash1 - p ;
16421642 else
16431643 n = strlen (p );
1644+ if (!n )
1645+ die ("Empty path component found in input" );
16441646
16451647 if (!root -> tree )
16461648 load_tree (root );
@@ -3028,6 +3030,8 @@ static void parse_ls(struct branch *b)
30283030 store_tree (& leaf );
30293031
30303032 print_ls (leaf .versions [1 ].mode , leaf .versions [1 ].sha1 , p );
3033+ if (leaf .tree )
3034+ release_tree_content_recursive (leaf .tree );
30313035 if (!b || root != & b -> branch_tree )
30323036 release_tree_entry (root );
30333037}
Original file line number Diff line number Diff line change @@ -1306,6 +1306,45 @@ test_expect_success \
13061306 M 040000 $subdir file3/
13071307 INPUT_END'
13081308
1309+ test_expect_success \
1310+ ' N: reject foo/ syntax in copy source' \
1311+ ' test_must_fail git fast-import <<-INPUT_END
1312+ commit refs/heads/N5C
1313+ committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
1314+ data <<COMMIT
1315+ copy with invalid syntax
1316+ COMMIT
1317+
1318+ from refs/heads/branch^0
1319+ C file2/ file3
1320+ INPUT_END'
1321+
1322+ test_expect_success \
1323+ ' N: reject foo/ syntax in rename source' \
1324+ ' test_must_fail git fast-import <<-INPUT_END
1325+ commit refs/heads/N5D
1326+ committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
1327+ data <<COMMIT
1328+ rename with invalid syntax
1329+ COMMIT
1330+
1331+ from refs/heads/branch^0
1332+ R file2/ file3
1333+ INPUT_END'
1334+
1335+ test_expect_success \
1336+ ' N: reject foo/ syntax in ls argument' \
1337+ ' test_must_fail git fast-import <<-INPUT_END
1338+ commit refs/heads/N5E
1339+ committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
1340+ data <<COMMIT
1341+ copy with invalid syntax
1342+ COMMIT
1343+
1344+ from refs/heads/branch^0
1345+ ls "file2/"
1346+ INPUT_END'
1347+
13091348test_expect_success \
13101349 ' N: copy to root by id and modify' \
13111350 ' echo "hello, world" >expect.foo &&
You can’t perform that action at this time.
0 commit comments