summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2017-02-11 22:43:10 +0100
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2017-02-11 22:43:10 +0100
commit26718276fd99ef60d9646d79467d2bb3f2db5549 (patch)
treefa47c708c4a931e0506f6ea5a212aa2a433c8b38 /services
parente9c0ba1859c0f5890fed280e03d0328311234cce (diff)
parentad990eb12c7aff3c4bcdd50cae90b2b7c20041e6 (diff)
downloadframeworks_av-26718276fd99ef60d9646d79467d2bb3f2db5549.zip
frameworks_av-26718276fd99ef60d9646d79467d2bb3f2db5549.tar.gz
frameworks_av-26718276fd99ef60d9646d79467d2bb3f2db5549.tar.bz2
Merge branch 'cm-13.0' of https://github.com/LineageOS/android_frameworks_av into replicant-6.0
Diffstat (limited to 'services')
-rw-r--r--services/audioflinger/Effects.cpp7
-rw-r--r--services/soundtrigger/SoundTriggerHwService.cpp2
2 files changed, 8 insertions, 1 deletions
diff --git a/services/audioflinger/Effects.cpp b/services/audioflinger/Effects.cpp
index 5505d2e..d46c10e 100644
--- a/services/audioflinger/Effects.cpp
+++ b/services/audioflinger/Effects.cpp
@@ -571,6 +571,13 @@ status_t AudioFlinger::EffectModule::command(uint32_t cmdCode,
android_errorWriteLog(0x534e4554, "29251553");
return -EINVAL;
}
+ if (cmdCode == EFFECT_CMD_GET_PARAM &&
+ (sizeof(effect_param_t) > cmdSize ||
+ ((effect_param_t *)pCmdData)->psize > cmdSize
+ - sizeof(effect_param_t))) {
+ android_errorWriteLog(0x534e4554, "32438594");
+ return -EINVAL;
+ }
if ((cmdCode == EFFECT_CMD_SET_PARAM
|| cmdCode == EFFECT_CMD_SET_PARAM_DEFERRED) && // DEFERRED not generally used
(sizeof(effect_param_t) > cmdSize
diff --git a/services/soundtrigger/SoundTriggerHwService.cpp b/services/soundtrigger/SoundTriggerHwService.cpp
index a1cc6ff..a45d5f6 100644
--- a/services/soundtrigger/SoundTriggerHwService.cpp
+++ b/services/soundtrigger/SoundTriggerHwService.cpp
@@ -270,12 +270,12 @@ void SoundTriggerHwService::sendRecognitionEvent(struct sound_trigger_recognitio
if (module == NULL) {
return;
}
+ struct sound_trigger_phrase_recognition_event newEvent;
if (event-> type == SOUND_MODEL_TYPE_KEYPHRASE && event->data_size != 0
&& event->data_offset != sizeof(struct sound_trigger_phrase_recognition_event)) {
// set some defaults for the phrase if the recognition event won't be parsed properly
// TODO: read defaults from the config
- struct sound_trigger_phrase_recognition_event newEvent;
memset(&newEvent, 0, sizeof(struct sound_trigger_phrase_recognition_event));
sp<Model> model = module->getModel(event->model);