diff options
Diffstat (limited to 'lib/Support/MemoryObject.cpp')
| -rw-r--r-- | lib/Support/MemoryObject.cpp | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Support/MemoryObject.cpp b/lib/Support/MemoryObject.cpp index 91e3ecd23a2e..b20ab8923813 100644 --- a/lib/Support/MemoryObject.cpp +++ b/lib/Support/MemoryObject.cpp @@ -19,8 +19,11 @@ int MemoryObject::readBytes(uint64_t address,                              uint64_t* copied) const {    uint64_t current = address;    uint64_t limit = getBase() + getExtent(); -   -  while (current - address < size && current < limit) { + +  if (current + size > limit) +    return -1; + +  while (current - address < size) {      if (readByte(current, &buf[(current - address)]))        return -1;  | 
