From f9138123e8fbc72d9161924c4b50abf9a21f6468 Mon Sep 17 00:00:00 2001 From: Stephane Bakhos Date: Tue, 19 May 2020 22:29:12 -0400 Subject: [PATCH 1/2] Fix wallet encrypt / decrypt --- src/crypter.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/crypter.cpp b/src/crypter.cpp index e0a063a..7049751 100644 --- a/src/crypter.cpp +++ b/src/crypter.cpp @@ -60,11 +60,11 @@ bool CCrypter::Encrypt(const CKeyingMaterial& vchPlaintext, std::vector& vchCiphertext, CKeyingM bool fOk = true; - EVP_CIPHER_CTX_init(ctx); + ctx = EVP_CIPHER_CTX_new(); if (fOk) fOk = EVP_DecryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, chKey, chIV); if (fOk) fOk = EVP_DecryptUpdate(ctx, &vchPlaintext[0], &nPLen, &vchCiphertext[0], nLen); if (fOk) fOk = EVP_DecryptFinal_ex(ctx, (&vchPlaintext[0])+nPLen, &nFLen); - EVP_CIPHER_CTX_cleanup(ctx); + EVP_CIPHER_CTX_free(ctx); if (!fOk) return false; From 1f6e4873eeed81b2cddad4326fd631c04f38ed29 Mon Sep 17 00:00:00 2001 From: Stephane Bakhos Date: Tue, 19 May 2020 23:49:15 -0400 Subject: [PATCH 2/2] Fix overloads for CBigNum --- src/bignum.h | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/src/bignum.h b/src/bignum.h index 092de4f..1f7906b 100644 --- a/src/bignum.h +++ b/src/bignum.h @@ -94,30 +94,15 @@ public: CBigNum(signed char n) { init(); if (n >= 0) setulong(n); else setint64(n); } CBigNum(short n) { init(); if (n >= 0) setulong(n); else setint64(n); } CBigNum(int n) { init(); if (n >= 0) setulong(n); else setint64(n); } -// CBigNum(long n) { init(); if (n >= 0) setulong(n); else setint64(n); } - CBigNum(int64_t n) { init(); setint64(n); } + CBigNum(long n) { init(); if (n >= 0) setulong(n); else setint64(n); } + CBigNum(long long n) { init(); setint64(n); } CBigNum(unsigned char n) { init(); setulong(n); } CBigNum(unsigned short n) { init(); setulong(n); } CBigNum(unsigned int n) { init(); setulong(n); } -// CBigNum(unsigned long n) { init(); setulong(n); } - CBigNum(uint64_t n) { init(); setuint64(n); } - CBigNum(long long int n) { init(); setuint64(n); } + CBigNum(unsigned long n) { init(); setulong(n); } + CBigNum(unsigned long long n) { init(); setuint64(n); } explicit CBigNum(uint256 n) { init(); setuint256(n); } - //CBigNum(char n) is not portable. Use 'signed char' or 'unsigned char'. -/* CBigNum(signed char n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); } - CBigNum(short n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); } - CBigNum(int n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); } - CBigNum(long n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); } - CBigNum(int64 n) { BN_init(this); setint64(n); } - CBigNum(unsigned char n) { BN_init(this); setulong(n); } - CBigNum(unsigned short n) { BN_init(this); setulong(n); } - CBigNum(unsigned int n) { BN_init(this); setulong(n); } - CBigNum(unsigned long n) { BN_init(this); setulong(n); } - CBigNum(uint64 n) { BN_init(this); setuint64(n); } - */ -// explicit CBigNum(uint256 n) { BN_init(this); setuint256(n); } - explicit CBigNum(const std::vector& vch) { init();