summaryrefslogtreecommitdiffstats
path: root/lldb/tools/debugserver/source/DNBDataRef.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2016-06-28 17:14:18 +0000
committerGreg Clayton <gclayton@apple.com>2016-06-28 17:14:18 +0000
commitd781d2c9b7def23e1692509e2de6062b05b59fb1 (patch)
tree7446329c7c0b61991ffbc850e6b7e2739c9d4dce /lldb/tools/debugserver/source/DNBDataRef.cpp
parent85de98fd24205c095a653991bcab0a98d602e9b3 (diff)
downloadbcm5719-llvm-d781d2c9b7def23e1692509e2de6062b05b59fb1.tar.gz
bcm5719-llvm-d781d2c9b7def23e1692509e2de6062b05b59fb1.zip
64-bit LEB values are not always correctly decoded due to a casting issue, now they are.
<rdar://problem/27002247> llvm-svn: 274037
Diffstat (limited to 'lldb/tools/debugserver/source/DNBDataRef.cpp')
-rw-r--r--lldb/tools/debugserver/source/DNBDataRef.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lldb/tools/debugserver/source/DNBDataRef.cpp b/lldb/tools/debugserver/source/DNBDataRef.cpp
index dc525ae2859..d52f28ee2fb 100644
--- a/lldb/tools/debugserver/source/DNBDataRef.cpp
+++ b/lldb/tools/debugserver/source/DNBDataRef.cpp
@@ -250,7 +250,7 @@ DNBDataRef::Get_ULEB128 (offset_t *offset_ptr) const
{
bytecount++;
byte = *src++;
- result |= (byte & 0x7f) << shift;
+ result |= (uint64_t)(byte & 0x7f) << shift;
shift += 7;
if ((byte & 0x80) == 0)
break;
@@ -283,7 +283,7 @@ DNBDataRef::Get_SLEB128 (offset_t *offset_ptr) const
{
bytecount++;
byte = *src++;
- result |= (byte & 0x7f) << shift;
+ result |= (int64_t)(byte & 0x7f) << shift;
shift += 7;
if ((byte & 0x80) == 0)
break;
OpenPOWER on IntegriCloud