diff options
author | Eric Laurent <elaurent@google.com> | 2014-11-10 23:35:11 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-11-10 23:35:11 +0000 |
commit | 17c2c87c40588fe77c327bb4dd57460aad90731c (patch) | |
tree | 729ba3b39dcbc29fe1dcf4ec7ec7b3bb0a9f5b8a /media | |
parent | 2dca6f6826c81372e67625024bbe7fa00c02b708 (diff) | |
parent | 6d60079e97c5fd6ba7de7b60adb0a027c0608d19 (diff) | |
download | frameworks_av-17c2c87c40588fe77c327bb4dd57460aad90731c.zip frameworks_av-17c2c87c40588fe77c327bb4dd57460aad90731c.tar.gz frameworks_av-17c2c87c40588fe77c327bb4dd57460aad90731c.tar.bz2 |
am 6d60079e: am 99370d2d: am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing
* commit '6d60079e97c5fd6ba7de7b60adb0a027c0608d19':
IAudioPolicyService: bound array size in queryDefaultPreProcessing
Diffstat (limited to 'media')
-rw-r--r-- | media/libmedia/IAudioPolicyService.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/media/libmedia/IAudioPolicyService.cpp b/media/libmedia/IAudioPolicyService.cpp index 256cb3f..180f5fb 100644 --- a/media/libmedia/IAudioPolicyService.cpp +++ b/media/libmedia/IAudioPolicyService.cpp @@ -23,6 +23,7 @@ #include <binder/Parcel.h> +#include <media/AudioEffect.h> #include <media/IAudioPolicyService.h> #include <system/audio.h> @@ -916,16 +917,18 @@ status_t BnAudioPolicyService::onTransact( CHECK_INTERFACE(IAudioPolicyService, data, reply); int audioSession = data.readInt32(); uint32_t count = data.readInt32(); + if (count > AudioEffect::kMaxPreProcessing) { + count = AudioEffect::kMaxPreProcessing; + } uint32_t retCount = count; - effect_descriptor_t *descriptors = - (effect_descriptor_t *)new char[count * sizeof(effect_descriptor_t)]; + effect_descriptor_t *descriptors = new effect_descriptor_t[count]; status_t status = queryDefaultPreProcessing(audioSession, descriptors, &retCount); reply->writeInt32(status); if (status != NO_ERROR && status != NO_MEMORY) { retCount = 0; } reply->writeInt32(retCount); - if (retCount) { + if (retCount != 0) { if (retCount < count) { count = retCount; } |