summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lajos Molnar <lajos@google.com> 2014-08-12 11:37:24 -0700
committer Lajos Molnar <lajos@google.com> 2014-08-12 11:38:23 -0700
commit018b70f5de79e614fff3297c617e2416dbf34d77 (patch)
treeafeb7d5cc260905f02f3bde6c3d8c9df0bac26c9
parent7a2b9936022d6d7dc5b237a7e166e230a50df25e (diff)
media: release allocated strings on error
Bug: 11990470 Change-Id: I74ffbfed8eb322d1b994fff99ed2470358bccf83
-rw-r--r--media/jni/android_media_MediaCodecList.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/media/jni/android_media_MediaCodecList.cpp b/media/jni/android_media_MediaCodecList.cpp
index ecba02abb934..12eb7d24aed4 100644
--- a/media/jni/android_media_MediaCodecList.cpp
+++ b/media/jni/android_media_MediaCodecList.cpp
@@ -85,6 +85,7 @@ static jint android_media_MediaCodecList_findCodecByName(
sp<IMediaCodecList> mcl = getCodecList(env);
if (mcl == NULL) {
// Runtime exception already pending.
+ env->ReleaseStringUTFChars(name, nameStr);
return -ENOENT;
}
@@ -162,7 +163,6 @@ static jobject android_media_MediaCodecList_getCodecCapabilities(
}
const char *typeStr = env->GetStringUTFChars(type, NULL);
-
if (typeStr == NULL) {
// Out of memory exception already pending.
return NULL;
@@ -177,12 +177,12 @@ static jobject android_media_MediaCodecList_getCodecCapabilities(
// TODO query default-format also from codec/codec list
const sp<MediaCodecInfo::Capabilities> &capabilities =
info->getCapabilitiesFor(typeStr);
+ env->ReleaseStringUTFChars(type, typeStr);
+ typeStr = NULL;
if (capabilities == NULL) {
jniThrowException(env, "java/lang/IllegalArgumentException", NULL);
return NULL;
}
- env->ReleaseStringUTFChars(type, typeStr);
- typeStr = NULL;
capabilities->getSupportedColorFormats(&colorFormats);
capabilities->getSupportedProfileLevels(&profileLevels);