Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62c1cf88 authored by wjiang's avatar wjiang Committed by Steve Kondik
Browse files

frameworks/av: init rc to avoid effect's fault state

Effect command doesn't necessarily fill cmd return code into &cmdStatus,
so we should initialize cmdStatus to avoid uninitialized value propagates
to upper stack caller.

Change-Id: I2a2985e3010f0d7b8aedf9244a6faabdf05740ac
CRs-Fixed: 517766
parent f7136631
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -326,6 +326,7 @@ status_t AudioFlinger::EffectModule::configure()
#endif
{
    status_t status;
    status_t cmdStatus = 0;
    sp<ThreadBase> thread;
    uint32_t size;
    audio_channel_mask_t channelMask;
@@ -412,7 +413,6 @@ status_t AudioFlinger::EffectModule::configure()
    ALOGV("configure() %p thread %p buffer %p framecount %d",
            this, thread.get(), mConfig.inputCfg.buffer.raw, mConfig.inputCfg.buffer.frameCount);

    status_t cmdStatus;
    size = sizeof(int);
    status = (*mEffectInterface)->command(mEffectInterface,
                                                   EFFECT_CMD_SET_CONFIG,
@@ -463,7 +463,7 @@ status_t AudioFlinger::EffectModule::init()
    if (mEffectInterface == NULL) {
        return NO_INIT;
    }
    status_t cmdStatus;
    status_t cmdStatus = 0;
    uint32_t size = sizeof(status_t);
    status_t status = (*mEffectInterface)->command(mEffectInterface,
                                                   EFFECT_CMD_INIT,
@@ -491,7 +491,7 @@ status_t AudioFlinger::EffectModule::start_l()
    if (mStatus != NO_ERROR) {
        return mStatus;
    }
    status_t cmdStatus;
    status_t cmdStatus = 0;
    uint32_t size = sizeof(status_t);
    status_t status = (*mEffectInterface)->command(mEffectInterface,
                                                   EFFECT_CMD_ENABLE,
@@ -530,7 +530,7 @@ status_t AudioFlinger::EffectModule::stop_l()
    if (mStatus != NO_ERROR) {
        return mStatus;
    }
    status_t cmdStatus;
    status_t cmdStatus = 0;
    uint32_t size = sizeof(status_t);
    status_t status = (*mEffectInterface)->command(mEffectInterface,
                                                   EFFECT_CMD_DISABLE,
@@ -700,7 +700,7 @@ status_t AudioFlinger::EffectModule::setVolume(uint32_t *left, uint32_t *right,
    if (isProcessEnabled() &&
            ((mDescriptor.flags & EFFECT_FLAG_VOLUME_MASK) == EFFECT_FLAG_VOLUME_CTRL ||
            (mDescriptor.flags & EFFECT_FLAG_VOLUME_MASK) == EFFECT_FLAG_VOLUME_IND)) {
        status_t cmdStatus;
        status_t cmdStatus = 0;
        uint32_t volume[2];
        uint32_t *pVolume = NULL;
        uint32_t size = sizeof(volume);
@@ -735,7 +735,7 @@ status_t AudioFlinger::EffectModule::setDevice(audio_devices_t device)
    }
    status_t status = NO_ERROR;
    if ((mDescriptor.flags & EFFECT_FLAG_DEVICE_MASK) == EFFECT_FLAG_DEVICE_IND) {
        status_t cmdStatus;
        status_t cmdStatus = 0;
        uint32_t size = sizeof(status_t);
        uint32_t cmd = audio_is_output_devices(device) ? EFFECT_CMD_SET_DEVICE :
                            EFFECT_CMD_SET_INPUT_DEVICE;
@@ -757,7 +757,7 @@ status_t AudioFlinger::EffectModule::setMode(audio_mode_t mode)
    }
    status_t status = NO_ERROR;
    if ((mDescriptor.flags & EFFECT_FLAG_AUDIO_MODE_MASK) == EFFECT_FLAG_AUDIO_MODE_IND) {
        status_t cmdStatus;
        status_t cmdStatus = 0;
        uint32_t size = sizeof(status_t);
        status = (*mEffectInterface)->command(mEffectInterface,
                                              EFFECT_CMD_SET_AUDIO_MODE,