diff options
Diffstat (limited to 'lldb/source/Core')
-rw-r--r-- | lldb/source/Core/RegisterValue.cpp | 3 | ||||
-rw-r--r-- | lldb/source/Core/Value.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/lldb/source/Core/RegisterValue.cpp b/lldb/source/Core/RegisterValue.cpp index 28ce67e63dc..f64c14019cc 100644 --- a/lldb/source/Core/RegisterValue.cpp +++ b/lldb/source/Core/RegisterValue.cpp @@ -539,6 +539,9 @@ bool RegisterValue::SignExtend(uint32_t sign_bitpos) { } bool RegisterValue::CopyValue(const RegisterValue &rhs) { + if (this == &rhs) + return rhs.m_type == eTypeInvalid ? false : true; + m_type = rhs.m_type; switch (m_type) { case eTypeInvalid: diff --git a/lldb/source/Core/Value.cpp b/lldb/source/Core/Value.cpp index aef06d3f645..d415f1b09eb 100644 --- a/lldb/source/Core/Value.cpp +++ b/lldb/source/Core/Value.cpp @@ -142,6 +142,9 @@ Type *Value::GetType() { } size_t Value::AppendDataToHostBuffer(const Value &rhs) { + if (this == &rhs) + return 0; + size_t curr_size = m_data_buffer.GetByteSize(); Status error; switch (rhs.GetValueType()) { |