summaryrefslogtreecommitdiffstats
path: root/media/jni/audioeffect
diff options
context:
space:
mode:
authorPeter Karlsson <peter1.karlsson@sonyericsson.com>2012-11-16 16:14:15 +0100
committerZoran Jovanovic <zoran.jovanovic@sonymobile.com>2012-11-16 16:14:54 +0100
commit4526f0de0a5698832719f16158bed57ad209d4f2 (patch)
tree39a8b4440eb16706c7f6fd097b27b36d13fd228d /media/jni/audioeffect
parent4299f63e54dceeaaa44a057ba03f0881834491ec (diff)
downloadframeworks_base-4526f0de0a5698832719f16158bed57ad209d4f2.zip
frameworks_base-4526f0de0a5698832719f16158bed57ad209d4f2.tar.gz
frameworks_base-4526f0de0a5698832719f16158bed57ad209d4f2.tar.bz2
Handle errors from AudioEffect::queryNumberEffects
There may be cases where queryNumberEffects fails leading to the usage of the uninitialized numEffects. Change-Id: If6d46987021ff6f0c9a2123d8714ff5fdf9ced45
Diffstat (limited to 'media/jni/audioeffect')
-rw-r--r--media/jni/audioeffect/android_media_AudioEffect.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/media/jni/audioeffect/android_media_AudioEffect.cpp b/media/jni/audioeffect/android_media_AudioEffect.cpp
index 3b325b7..bcab4f3 100644
--- a/media/jni/audioeffect/android_media_AudioEffect.cpp
+++ b/media/jni/audioeffect/android_media_AudioEffect.cpp
@@ -705,7 +705,7 @@ android_media_AudioEffect_native_queryEffects(JNIEnv *env, jclass clazz)
{
effect_descriptor_t desc;
char str[EFFECT_STRING_LEN_MAX];
- uint32_t numEffects;
+ uint32_t numEffects = 0;
uint32_t i = 0;
jstring jdescType;
jstring jdescUuid;
@@ -714,7 +714,10 @@ android_media_AudioEffect_native_queryEffects(JNIEnv *env, jclass clazz)
jstring jdescImplementor;
jobject jdesc;
- AudioEffect::queryNumberEffects(&numEffects);
+ if (AudioEffect::queryNumberEffects(&numEffects) != NO_ERROR) {
+ return NULL;
+ }
+
jobjectArray ret = env->NewObjectArray(numEffects, fields.clazzDesc, NULL);
if (ret == NULL) {
return ret;