summaryrefslogtreecommitdiffstats
path: root/lldb/source/Expression/IRInterpreter.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2013-06-06 21:14:35 +0000
committerSean Callanan <scallanan@apple.com>2013-06-06 21:14:35 +0000
commit544053e353e38443c8cc992ff3a5f1fa8cb46234 (patch)
treedeb1f4754913be786be158925363eac826de3fa3 /lldb/source/Expression/IRInterpreter.cpp
parente5f6a8f64987e3a20de4140a7ff98cf290e4f37b (diff)
downloadbcm5719-llvm-544053e353e38443c8cc992ff3a5f1fa8cb46234.tar.gz
bcm5719-llvm-544053e353e38443c8cc992ff3a5f1fa8cb46234.zip
Hardened the IR interpreter to prevent it from
reading non-standard value sizes. <rdar://problem/14081292> llvm-svn: 183448
Diffstat (limited to 'lldb/source/Expression/IRInterpreter.cpp')
-rw-r--r--lldb/source/Expression/IRInterpreter.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/Expression/IRInterpreter.cpp b/lldb/source/Expression/IRInterpreter.cpp
index 9cb7bc0a29a..449f0e8bef4 100644
--- a/lldb/source/Expression/IRInterpreter.cpp
+++ b/lldb/source/Expression/IRInterpreter.cpp
@@ -172,7 +172,7 @@ public:
return false;
lldb::offset_t offset = 0;
- if (value_size <= 8)
+ if (value_size == 1 || value_size == 2 || value_size == 4 || value_size == 8)
{
uint64_t u64value = value_extractor.GetMaxU64(&offset, value_size);
return AssignToMatchType(scalar, u64value, value->getType());
OpenPOWER on IntegriCloud