Skip to content

Commit 68b90ac

Browse files
authored
Handle CultureNotFoundException in AssemblyNameInfoFuzzer, fixes #107949 (#108053)
1 parent 89f245e commit 68b90ac

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/libraries/Fuzzing/DotnetFuzzing/Fuzzers/AssemblyNameInfoFuzzer.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33

44
using System.Buffers;
5+
using System.Globalization;
56
using System.Reflection.Metadata;
67
using System.Runtime.InteropServices;
78
using System.Text;
@@ -41,6 +42,19 @@ private static void Test(Span<char> span)
4142
Assert.Equal(fromTryParse.Version, fromParse.Version);
4243
Assert.SequenceEqual(fromTryParse.PublicKeyOrToken.AsSpan(), fromParse.PublicKeyOrToken.AsSpan());
4344

45+
if (!string.IsNullOrEmpty(fromParse.CultureName))
46+
{
47+
try
48+
{
49+
_ = CultureInfo.GetCultureInfo(fromParse.CultureName);
50+
}
51+
catch (CultureNotFoundException)
52+
{
53+
// ToAssemblyName would try to create such a culture and fail.
54+
return;
55+
}
56+
}
57+
4458
Assert.Equal(fromTryParse.ToAssemblyName().Name, fromParse.ToAssemblyName().Name);
4559
Assert.Equal(fromTryParse.ToAssemblyName().Version, fromParse.ToAssemblyName().Version);
4660
Assert.Equal(fromTryParse.ToAssemblyName().ContentType, fromParse.ToAssemblyName().ContentType);

0 commit comments

Comments
 (0)