From 8160633e12a5596a3a608cdc87ee9d51a78720c8 Mon Sep 17 00:00:00 2001 From: QAston Date: Sun, 18 Aug 2013 15:15:40 +0200 Subject: Core: Fix a bug in BigNumber::SetBinary --- src/server/shared/Cryptography/BigNumber.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src') 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) -- cgit v1.2.3