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

Commit b8551f62 authored by François Gaffie's avatar François Gaffie Committed by Eric Laurent
Browse files

audioeffect: fix segfault on device effect configuration



Bug: 268441977
Test: add a default device effect, launch a use case involging it

When calling configure for a device effect, mMaxDisableWaitCnt is
computed from framecount function call as divider. It is initialized
to 0 for DeviceEffectProxy, thus leading to segfault

Change-Id: Id5c62c3100e17ea3e142ad3ef3e8838a7bc3d71c
Signed-off-by: default avatarFrançois Gaffie <francois.gaffie@renault.com>
parent 82a187c8
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1005,8 +1005,9 @@ status_t AudioFlinger::EffectModule::configure()
    // mConfig.outputCfg.buffer.frameCount cannot be zero.
    mMaxDisableWaitCnt = (uint32_t)std::max(
            (uint64_t)1, // mMaxDisableWaitCnt must be greater than zero.
            (uint64_t)MAX_DISABLE_TIME_MS * mConfig.outputCfg.samplingRate
                / ((uint64_t)1000 * mConfig.outputCfg.buffer.frameCount));
            (uint64_t)mConfig.outputCfg.buffer.frameCount == 0 ? 1
                : (MAX_DISABLE_TIME_MS * mConfig.outputCfg.samplingRate
                / ((uint64_t)1000 * mConfig.outputCfg.buffer.frameCount)));

exit:
    // TODO: consider clearing mConfig on error.