diff options
| author | Greg Clayton <gclayton@apple.com> | 2014-02-11 17:49:50 +0000 |
|---|---|---|
| committer | Greg Clayton <gclayton@apple.com> | 2014-02-11 17:49:50 +0000 |
| commit | f07582499884523cd47414e2fde8fe7dae09f74d (patch) | |
| tree | 402ddcbe9abc5c777f8d5ffaabe5c2da562dfa9c /lldb/tools/debugserver/source | |
| parent | 539997978e73e5eacad3c118d9cd1393e3871b81 (diff) | |
| download | bcm5719-llvm-f07582499884523cd47414e2fde8fe7dae09f74d.tar.gz bcm5719-llvm-f07582499884523cd47414e2fde8fe7dae09f74d.zip | |
Don’t leak memory when reading memory and we do an early return for error conditions.
llvm-svn: 201164
Diffstat (limited to 'lldb/tools/debugserver/source')
| -rw-r--r-- | lldb/tools/debugserver/source/RNBRemote.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lldb/tools/debugserver/source/RNBRemote.cpp b/lldb/tools/debugserver/source/RNBRemote.cpp index 7262d06b58e..96939e421eb 100644 --- a/lldb/tools/debugserver/source/RNBRemote.cpp +++ b/lldb/tools/debugserver/source/RNBRemote.cpp @@ -2476,12 +2476,12 @@ RNBRemote::HandlePacket_m (const char *p) return SendPacket (""); } - uint8_t *buf = (uint8_t *)malloc (length); - if (buf == NULL) + std::string buf(length, '\0'); + if (buf.empty()) { return SendPacket ("E78"); } - int bytes_read = DNBProcessMemoryRead (m_ctx.ProcessID(), addr, length, buf); + int bytes_read = DNBProcessMemoryRead (m_ctx.ProcessID(), addr, buf.size(), &buf[0]); if (bytes_read == 0) { return SendPacket ("E08"); @@ -2494,7 +2494,6 @@ RNBRemote::HandlePacket_m (const char *p) std::ostringstream ostrm; for (int i = 0; i < length; i++) ostrm << RAWHEX8(buf[i]); - free (buf); return SendPacket (ostrm.str ()); } |

