diff options
author | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2020-06-22 13:30:46 +0300 |
---|---|---|
committer | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2020-06-22 13:30:46 +0300 |
commit | 35033e4699d3356db509e49cb84962679e5c74f5 (patch) | |
tree | a0fabbbbbc48cf4be19493a9a4eebd3f178f7ee4 /programs | |
parent | f6d801ff046e3efe7fcb322accaa0cd5ecf3dcf8 (diff) |
Check for self-move in every move assignment operator.
Diffstat (limited to 'programs')
-rw-r--r-- | programs/key-value-store/include/key_value_store.hpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/programs/key-value-store/include/key_value_store.hpp b/programs/key-value-store/include/key_value_store.hpp index 55339dd3..99aef4a0 100644 --- a/programs/key-value-store/include/key_value_store.hpp +++ b/programs/key-value-store/include/key_value_store.hpp @@ -411,6 +411,10 @@ namespace key_value_store keyvalue_info(keyvalue_info &&o) noexcept : key(std::move(o.key)), value(std::move(o.value)), transaction_counter(std::move(o.transaction_counter)), _value_buffer(std::move(o._value_buffer)) { o._value_buffer = nullptr; } keyvalue_info &operator=(keyvalue_info &&o) noexcept { + if(this == &o) + { + return *this; + } this->~keyvalue_info(); new(this) keyvalue_info(std::move(o)); return *this; |