From effca50ae0691501f7eb0965d895873169d381ab Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Thu, 4 Sep 2014 15:33:28 +0300 Subject: [PATCH] core: fix temporary_buffer<> assigned to itself --- core/reactor.hh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/core/reactor.hh b/core/reactor.hh index eb635df6ba..b76d29c6fa 100644 --- a/core/reactor.hh +++ b/core/reactor.hh @@ -383,11 +383,13 @@ public: } void operator=(const temporary_buffer&) = delete; temporary_buffer& operator=(temporary_buffer&& x) { - _buffer = x._buffer; - _size = x._size; - _deleter = std::move(x._deleter); - x._buffer = nullptr; - x._size = 0; + if (this != &x) { + _buffer = x._buffer; + _size = x._size; + _deleter = std::move(x._deleter); + x._buffer = nullptr; + x._size = 0; + } return *this; } const CharType* get() const { return _buffer; }