diff options
author | QAston <qaston@gmail.com> | 2013-08-18 15:15:40 +0200 |
---|---|---|
committer | QAston <qaston@gmail.com> | 2013-08-18 17:44:02 +0200 |
commit | 8160633e12a5596a3a608cdc87ee9d51a78720c8 (patch) | |
tree | 7afc7fc2f5d1156f03a872bf0050a129b9592d19 | |
parent | 10fb50ad66a3e2c23261926c2f234ac334055a22 (diff) |
Core: Fix a bug in BigNumber::SetBinary
-rw-r--r-- | src/server/shared/Cryptography/BigNumber.cpp | 11 |
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) |