core: fix temporary_buffer<> assigned to itself

This commit is contained in:
Avi Kivity
2014-09-04 15:33:28 +03:00
parent 78154f4606
commit effca50ae0

View File

@@ -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; }