summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-11-10 23:31:32 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-11-10 23:31:32 +0000
commit6d60079e97c5fd6ba7de7b60adb0a027c0608d19 (patch)
tree9ebbce57d5015eb8ac2356af7ed14b84136b9916 /media
parent995599cbd6ada739c257716a6d8b90eee6d61473 (diff)
parent99370d2da54d7537ffda7fef1f6ef36f8b690321 (diff)
downloadframeworks_av-6d60079e97c5fd6ba7de7b60adb0a027c0608d19.zip
frameworks_av-6d60079e97c5fd6ba7de7b60adb0a027c0608d19.tar.gz
frameworks_av-6d60079e97c5fd6ba7de7b60adb0a027c0608d19.tar.bz2
am 99370d2d: am ae6965ae: am 3aef3560: am e360f0f6: IAudioPolicyService: bound array size in queryDefaultPreProcessing
* commit '99370d2da54d7537ffda7fef1f6ef36f8b690321': IAudioPolicyService: bound array size in queryDefaultPreProcessing
Diffstat (limited to 'media')
-rw-r--r--media/libmedia/IAudioPolicyService.cpp9
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;
}