Skip to content

Commit f7044cc

Browse files
committed
Fix bug decoding ASN integers. Fixes #1242
This introduces a regression introduced in 0bb5885 for older TFMs.
1 parent 41aa751 commit f7044cc

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

src/MySqlConnector/Utilities/Utility.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ private static bool TryReadAsnInteger(ReadOnlySpan<byte> data, out ReadOnlySpan<
653653
bytesConsumed = lengthBytesConsumed + length + 1;
654654

655655
// trim leading zero bytes
656-
while (number is [ 0, .. ])
656+
while (number is [ 0, _, .. ])
657657
number = number[1..];
658658

659659
return true;

tests/MySqlConnector.Tests/MySqlConnector.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup Condition=" '$(Configuration)' != 'MySqlData' ">
4-
<TargetFrameworks>net7.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp3.1;net7.0</TargetFrameworks>
55
</PropertyGroup>
66

77
<PropertyGroup Condition=" '$(Configuration)' == 'MySqlData' ">

tests/MySqlConnector.Tests/UtilityTests.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,13 @@ public void ParseTimeSpanFails(string input)
110110
[InlineData("pre", "post")]
111111
public void DecodePublicKey(string pre, string post)
112112
{
113+
#if NET5_0_OR_GREATER
113114
using var rsa = RSA.Create();
114115
Utility.LoadRsaParameters(pre + c_publicKey + post, rsa);
115116
var parameters = rsa.ExportParameters(false);
117+
#else
118+
var parameters = Utility.GetRsaParameters(pre + c_publicKey + post);
119+
#endif
116120
Assert.Equal(s_modulus, parameters.Modulus);
117121
Assert.Equal(s_exponent, parameters.Exponent);
118122
}
@@ -124,9 +128,13 @@ public void DecodePublicKey(string pre, string post)
124128
[InlineData("pre", "post")]
125129
public void DecodePrivateKey(string pre, string post)
126130
{
131+
#if NET5_0_OR_GREATER
127132
using var rsa = RSA.Create();
128133
Utility.LoadRsaParameters(pre + c_privateKey + post, rsa);
129134
var parameters = rsa.ExportParameters(true);
135+
#else
136+
var parameters = Utility.GetRsaParameters(pre + c_privateKey + post);
137+
#endif
130138
Assert.Equal(s_modulus, parameters.Modulus);
131139
Assert.Equal(s_exponent, parameters.Exponent);
132140
Assert.Equal(s_d, parameters.D);

0 commit comments

Comments
 (0)