RicoSuter / NJsonSchema

JSON Schema reader, generator and validator for .NET
http://NJsonSchema.org
MIT License
1.37k stars 529 forks source link

Infinite loop in RenamePropertyWithSameNameAsClass #1671

Open cubed-it opened 7 months ago

cubed-it commented 7 months ago

Hello, I've discovered an infinite loop in the CSharpGenerator.RenamePropertyWithSameNameAsClass method. The problem arises when a property shares the same name as its enclosing type and another property already bears a '1' suffix:

var number = 1;
var candidate = typeName + number;
while (propertyModels.Any(p => p.PropertyName == candidate))
{
    number++;
}

This loop will persist indefinitely under the described condition.