From f66f76c1a31539c65007a81fe28a1e06f638b4da Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Sat, 27 Aug 2011 07:45:46 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138705 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/MemoryObject.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/Support/MemoryObject.cpp b/lib/Support/MemoryObject.cpp index 91e3ecd23a2..b20ab892381 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; -- 2.34.1