summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2012-08-19 20:46:07 +0200
committerBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2012-11-14 13:08:20 +0100
commit0ec9bd5d7718acaf9cb2472526907144fafa876e (patch)
treef3aafef5a151c6af344a36d2e0226aa68baf657e
parent6cde493e4ad6d6cd1f40e24ad2ea9b14b2e5332a (diff)
downmix: Fix aliasing violation
Change-Id: I1907da54e9ec40c9afe56c488a974d5286b787e4 Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
-rw-r--r--media/libeffects/downmix/EffectDownmix.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libeffects/downmix/EffectDownmix.c b/media/libeffects/downmix/EffectDownmix.c
index 5bf052ae..0ea3b54b 100644
--- a/media/libeffects/downmix/EffectDownmix.c
+++ b/media/libeffects/downmix/EffectDownmix.c
@@ -434,7 +434,8 @@ static int Downmix_Command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdS
memcpy(pReplyData, pCmdData, sizeof(effect_param_t) + sizeof(int32_t));
ALOGV("Downmix_Command EFFECT_CMD_GET_PARAM param %d, replySize %d",
*(int32_t *)rep->data, rep->vsize);
- rep->status = Downmix_getParameter(pDownmixer, *(int32_t *)rep->data, &rep->vsize,
+ int32_t rep_data; memcpy(&rep_data, rep->data, sizeof(int32_t));
+ rep->status = Downmix_getParameter(pDownmixer, rep_data /* *(int32_t *)rep->data */, &rep->vsize,
rep->data + sizeof(int32_t));
*replySize = sizeof(effect_param_t) + sizeof(int32_t) + rep->vsize;
break;
@@ -447,7 +448,8 @@ static int Downmix_Command(effect_handle_t self, uint32_t cmdCode, uint32_t cmdS
return -EINVAL;
}
effect_param_t *cmd = (effect_param_t *) pCmdData;
- *(int *)pReplyData = Downmix_setParameter(pDownmixer, *(int32_t *)cmd->data,
+ int32_t cmd_data; memcpy(&cmd_data, cmd->data, sizeof(int32_t));
+ *(int *)pReplyData = Downmix_setParameter(pDownmixer, cmd_data /* *(int32_t *)cmd->data*/,
cmd->vsize, cmd->data + sizeof(int32_t));
break;