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.

(cherry picked from commit 6d1a1dfd0ef006e19067b6ffd927160d0c6d9647)

Change-Id: Id857efca8d34b20d1acaa452c3fe5d2975e2572b
diff --git a/vm/Thread.cpp b/vm/Thread.cpp
index 5122adf..8e879e0 100644
--- a/vm/Thread.cpp
+++ b/vm/Thread.cpp
@@ -3340,7 +3340,10 @@
 
     StringObject* nameObj = (StringObject*)
         dvmGetFieldObject(thread->threadObj, gDvm.offJavaLangThread_name);
-    return dvmCreateCstrFromString(nameObj);
+    char* name = dvmCreateCstrFromString(nameObj);
+    std::string result(name);
+    free(name);
+    return result;
 }
 
 /*