diff options
author | Determinant <[email protected]> | 2018-07-19 14:43:35 -0400 |
---|---|---|
committer | Determinant <[email protected]> | 2018-07-19 14:43:35 -0400 |
commit | 95316118206aeed718ae6260ef9b5a1a4a6dacd8 (patch) | |
tree | c0b2df4c8f020bb076c276069da066a4f43c32f8 /include/hotstuff | |
parent | 9e745354fe10f31b829f0c02a2aa464f391ffd19 (diff) |
fix mem leak
Diffstat (limited to 'include/hotstuff')
-rw-r--r-- | include/hotstuff/consensus.h | 8 | ||||
-rw-r--r-- | include/hotstuff/entity.h | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/include/hotstuff/consensus.h b/include/hotstuff/consensus.h index 1f1e6ea..a3a1f25 100644 --- a/include/hotstuff/consensus.h +++ b/include/hotstuff/consensus.h @@ -45,7 +45,9 @@ class HotStuffCore { BoxObj<EntityStorage> storage; HotStuffCore(ReplicaID id, privkey_bt &&priv_key); - virtual ~HotStuffCore() = default; + virtual ~HotStuffCore() { + b0->qc_ref = nullptr; + } /* Inputs of the state machine triggered by external events, should called * by the class user, with proper invariants. */ @@ -173,7 +175,7 @@ struct Proposal: public Serializable { << "rid=" << std::to_string(proposer) << " " << "bqc=" << get_hex10(bqc_hash) << " " << "blk=" << get_hex10(blk->get_hash()) << ">"; - return std::string(std::move(s)); + return std::move(s); } }; @@ -243,7 +245,7 @@ struct Vote: public Serializable { << "bqc=" << get_hex10(bqc_hash) << " " << "blk=" << get_hex10(blk_hash) << " " << "cert=" << (cert ? "yes" : "no") << ">"; - return std::string(std::move(s)); + return std::move(s); } }; diff --git a/include/hotstuff/entity.h b/include/hotstuff/entity.h index 03aff06..28b5148 100644 --- a/include/hotstuff/entity.h +++ b/include/hotstuff/entity.h @@ -184,7 +184,7 @@ class Block { << "id=" << get_hex10(hash) << " " << "height=" << std::to_string(height) << " " << "parent=" << get_hex10(parent_hashes[0]) << ">"; - return std::string(std::move(s)); + return std::move(s); } }; |