Prevent infinite recursion in Solution parser when a project is nested under itself
Open
Area: Solution (.sln)
help wanted
triaged
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 141
Description
We don't check for invalid project nestings in the solution file, so it's possible to create a solution that crashes MSBuild with stack overflow:
https://github.com/Microsoft/msbuild/blob/xplat/src/XMakeBuildEngine/Construction/Solution/ProjectInSolution.cs#L393
An example solution is:
https://github.com/dotnet/corefx/blob/f6ab339f446e37505f93ef9f430801fa1dcc05b8/src/System.Collections.Immutable/System.Collections.Immutable.sln#L40-L41
Note that we should check for indirect recursion as well (loops).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.