aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQAston <qaston@gmail.com>2013-08-18 15:15:40 +0200
committerQAston <qaston@gmail.com>2013-08-18 17:44:02 +0200
commit8160633e12a5596a3a608cdc87ee9d51a78720c8 (patch)
tree7afc7fc2f5d1156f03a872bf0050a129b9592d19
parent10fb50ad66a3e2c23261926c2f234ac334055a22 (diff)
Core: Fix a bug in BigNumber::SetBinary
-rw-r--r--src/server/shared/Cryptography/BigNumber.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/server/shared/Cryptography/BigNumber.cpp b/src/server/shared/Cryptography/BigNumber.cpp
index bec43ac59a4..938e9104851 100644
--- a/src/server/shared/Cryptography/BigNumber.cpp
+++ b/src/server/shared/Cryptography/BigNumber.cpp
@@ -57,9 +57,14 @@ void BigNumber::SetQword(uint64 val)
void BigNumber::SetBinary(uint8 const* bytes, int32 len)
{
- uint8 t[1000];
- for (int i = 0; i < len; i++) t[i] = bytes[len - 1 - i];
- BN_bin2bn(t, len, _bn);
+ uint8* array = new uint8[len];
+
+ for (int i = 0; i < len; i++)
+ array[i] = bytes[len - 1 - i];
+
+ BN_bin2bn(array, len, _bn);
+
+ delete[] array;
}
void BigNumber::SetHexStr(char const* str)