summaryrefslogtreecommitdiffstats
path: root/lldb/tools/debugserver/source
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2014-02-11 17:49:50 +0000
committerGreg Clayton <gclayton@apple.com>2014-02-11 17:49:50 +0000
commitf07582499884523cd47414e2fde8fe7dae09f74d (patch)
tree402ddcbe9abc5c777f8d5ffaabe5c2da562dfa9c /lldb/tools/debugserver/source
parent539997978e73e5eacad3c118d9cd1393e3871b81 (diff)
downloadbcm5719-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.cpp7
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 ());
}
OpenPOWER on IntegriCloud