summaryrefslogtreecommitdiffstats
path: root/vm
diff options
context:
space:
mode:
authorIvan Evlogiev <ivanevlogiev@codeaurora.org>2014-01-15 12:47:02 +0200
committerSteve Kondik <shade@chemlab.org>2014-01-28 00:47:25 -0800
commita58cee84b2015474e7ca1fe4e66f5d83d6447cad (patch)
tree262d5bf62c359cb92cbfa6896898dff369159498 /vm
parent045bbe6a86f352b4ecc6412433ab4a5e534cc865 (diff)
downloadandroid_dalvik-a58cee84b2015474e7ca1fe4e66f5d83d6447cad.tar.gz
android_dalvik-a58cee84b2015474e7ca1fe4e66f5d83d6447cad.tar.bz2
android_dalvik-a58cee84b2015474e7ca1fe4e66f5d83d6447cad.zip
dalvik: Fix leak in error condition in FindClass
Release trackedLoader for all exit points in FindClass Change-Id: I2da26ed6253c2b1b9381bff394596245b993602c
Diffstat (limited to 'vm')
-rw-r--r--vm/Jni.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/vm/Jni.cpp b/vm/Jni.cpp
index 0e77fab3e..b12a49f14 100644
--- a/vm/Jni.cpp
+++ b/vm/Jni.cpp
@@ -1248,6 +1248,7 @@ static jclass FindClass(JNIEnv* env, const char* name) {
char* descriptor = dvmNameToDescriptor(name);
if (descriptor == NULL) {
+ dvmReleaseTrackedAlloc(trackedLoader, ts.self());
return NULL;
}
ClassObject* clazz = dvmFindClassNoInit(descriptor, loader);