svn commit: r333151 - stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD

Ed Maste emaste at FreeBSD.org
Tue May 1 19:34:34 UTC 2018


Author: emaste
Date: Tue May  1 19:34:33 2018
New Revision: 333151
URL: https://svnweb.freebsd.org/changeset/base/333151

Log:
  MFC r332849: lldb: propagate error to user if memory read fails
  
  Previously, an attempt to read an unreadable access reported zeros:
  
  (lldb) memory read -format hex -size 8 0
  0x00000000: 0x0000000000000000 0x0000000000000000
  0x00000010: 0x0000000000000000 0x0000000000000000
  ...
  
  Now, if DoReadMemory encounters error then return 0 (bytes read) so we
  report the error to the user:
  
  (lldb) memory read -format hex -size 8 0
  error: Bad address
  
  LLVM PR:	37190
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
==============================================================================
--- stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp	Tue May  1 19:17:38 2018	(r333150)
+++ stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp	Tue May  1 19:34:33 2018	(r333151)
@@ -163,8 +163,10 @@ static size_t DoReadMemory(lldb::pid_t pid, lldb::addr
   pi_desc.piod_addr = buf;
   pi_desc.piod_len = size;
 
-  if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0)
+  if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0) {
     error.SetErrorToErrno();
+    return 0;
+  }
   return pi_desc.piod_len;
 }
 


More information about the svn-src-all mailing list