diff options
author | Elliott Hughes <enh@google.com> | 2012-01-06 17:25:14 -0800 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2012-01-09 17:30:52 -0800 |
commit | 6d1a1dfd0ef006e19067b6ffd927160d0c6d9647 (patch) | |
tree | 23d93b875c8c16a09a11a2bdd2c01f840aae42cd /vm/Thread.cpp | |
parent | c1a4ab9c313d8a3d12007f2dbef7b5a6fa4ac2ef (diff) | |
download | android_dalvik-6d1a1dfd0ef006e19067b6ffd927160d0c6d9647.tar.gz android_dalvik-6d1a1dfd0ef006e19067b6ffd927160d0c6d9647.tar.bz2 android_dalvik-6d1a1dfd0ef006e19067b6ffd927160d0c6d9647.zip |
Fix a small memory leak.
Found by someone reading the code, rather than because we saw a crash. This is
only a small leak, and you'd have to be dumping threads (because of an ANR) or
creating a new thread to provoke it.
Change-Id: I9c660d86056765bcbebbdfa634032885c3f91b82
Diffstat (limited to 'vm/Thread.cpp')
-rw-r--r-- | vm/Thread.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vm/Thread.cpp b/vm/Thread.cpp index f0217b43f..1ced9ca62 100644 --- a/vm/Thread.cpp +++ b/vm/Thread.cpp @@ -3369,7 +3369,10 @@ std::string dvmGetThreadName(Thread* thread) { StringObject* nameObj = (StringObject*) dvmGetFieldObject(thread->threadObj, gDvm.offJavaLangThread_name); - return dvmCreateCstrFromString(nameObj); + char* name = dvmCreateCstrFromString(nameObj); + std::string result(name); + free(name); + return result; } #ifdef HAVE_ANDROID_OS |