Report failure if there are less bytes than requested in a MemoryObject.

Before we just left the remaining bytes uninitialized. This is another step in making llvm valgrind-clean again.

llvm-svn: 138705
This commit is contained in:
Benjamin Kramer 2011-08-27 07:45:46 +00:00
parent d90c3c92d5
commit 5ff961c376
1 changed files with 5 additions and 2 deletions

View File

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