From: CryptoManiac Date: Sat, 27 Nov 2021 12:26:54 +0000 (+0300) Subject: Use BN_dup X-Git-Tag: nvc-v0.5.9~128 X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=commitdiff_plain;h=68324ee855d3dd1428682855f8b2f2d138b034db Use BN_dup --- diff --git a/src/bignum.h b/src/bignum.h index 1c9d7fb..d5927d3 100644 --- a/src/bignum.h +++ b/src/bignum.h @@ -59,21 +59,22 @@ public: CBigNum(const CBigNum& b) { - bn = BN_new(); - if (!BN_copy(bn, b.bn)) + BIGNUM *dup = BN_dup(b.bn); + if (!dup) { - BN_clear_free(bn); - throw bignum_error("CBigNum::CBigNum(const CBigNum&) : BN_copy failed"); + throw bignum_error("CBigNum::CBigNum(const CBigNum&) : BN_dup failed"); } + bn = dup; } CBigNum& operator=(const CBigNum& b) { - bn = BN_new(); - if (!BN_copy(bn, b.bn)) { - BN_clear_free(bn); - throw bignum_error("CBigNum::operator= : BN_copy failed"); + BIGNUM *dup = BN_dup(b.bn); + if (!dup) + { + throw bignum_error("CBigNum::operator= : BN_dup failed"); } + bn = dup; return (*this); }