[Lldb-commits] [PATCH] D75200: [LLDB] AddressSanitizer failure in MemoryCache
Paolo Severini via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Feb 27 11:36:14 PST 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rG256e61699b19: [LLDB] Fix AddressSanitizer failure in MemoryCache (authored by paolosev).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75200/new/
https://reviews.llvm.org/D75200
Files:
lldb/source/Core/Module.cpp
lldb/source/Target/Memory.cpp
Index: lldb/source/Target/Memory.cpp
===================================================================
--- lldb/source/Target/Memory.cpp
+++ lldb/source/Target/Memory.cpp
@@ -232,8 +232,13 @@
if (process_bytes_read == 0)
return dst_len - bytes_left;
- if (process_bytes_read != cache_line_byte_size)
+ if (process_bytes_read != cache_line_byte_size) {
+ if (process_bytes_read < data_buffer_heap_up->GetByteSize()) {
+ dst_len -= data_buffer_heap_up->GetByteSize() - process_bytes_read;
+ bytes_left = process_bytes_read;
+ }
data_buffer_heap_up->SetByteSize(process_bytes_read);
+ }
m_L2_cache[curr_addr] = DataBufferSP(data_buffer_heap_up.release());
// We have read data and put it into the cache, continue through the
// loop again to get the data out of the cache...
Index: lldb/source/Core/Module.cpp
===================================================================
--- lldb/source/Core/Module.cpp
+++ lldb/source/Core/Module.cpp
@@ -297,7 +297,9 @@
const size_t bytes_read =
process_sp->ReadMemory(header_addr, data_up->GetBytes(),
data_up->GetByteSize(), readmem_error);
- if (bytes_read == size_to_read) {
+ if (bytes_read < size_to_read)
+ data_up->SetByteSize(bytes_read);
+ if (data_up->GetByteSize() > 0) {
DataBufferSP data_sp(data_up.release());
m_objfile_sp = ObjectFile::FindPlugin(shared_from_this(), process_sp,
header_addr, data_sp);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75200.247053.patch
Type: text/x-patch
Size: 1619 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200227/dc47ddda/attachment.bin>
More information about the lldb-commits
mailing list