Skip to content

Commit 94d8619

Browse files
authored
Merge pull request MessagePack-CSharp#1481 from ValkaVales/patch-1
Fix OverflowException in SafeBitConverter.ToInt64
2 parents 10955cc + 0eccfe5 commit 94d8619

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/MessagePack.UnityClient/Assets/Scripts/MessagePack/SafeBitConverter.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ internal static long ToInt64(ReadOnlySpan<byte> value)
1313
#if UNITY_ANDROID
1414
if (BitConverter.IsLittleEndian)
1515
{
16-
int i1 = value[0] | (value[1] << 8) | (value[2] << 16) | (value[3] << 24);
17-
int i2 = value[4] | (value[5] << 8) | (value[6] << 16) | (value[7] << 24);
18-
return (uint)i1 | ((long)i2 << 32);
16+
long i1 = value[0] | (value[1] << 8) | (value[2] << 16) | (value[3] << 24);
17+
long i2 = value[4] | (value[5] << 8) | (value[6] << 16) | (value[7] << 24);
18+
return i1 | (i2 << 32);
1919
}
2020
else
2121
{
22-
int i1 = (value[0] << 24) | (value[1] << 16) | (value[2] << 8) | value[3];
23-
int i2 = (value[4] << 24) | (value[5] << 16) | (value[6] << 8) | value[7];
24-
return (uint)i2 | ((long)i1 << 32);
22+
long i1 = (value[0] << 24) | (value[1] << 16) | (value[2] << 8) | value[3];
23+
long i2 = (value[4] << 24) | (value[5] << 16) | (value[6] << 8) | value[7];
24+
return i2 | (i1 << 32);
2525
}
2626
#else
2727
return MemoryMarshal.Cast<byte, long>(value)[0];

0 commit comments

Comments
 (0)