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

Commit 357e26a6 authored by Ytai Ben-Tsvi's avatar Ytai Ben-Tsvi
Browse files

Ignore response in case of failure

When the status indicates failure, the output should be ignored.
Otherwise, conversion may fail and crash.

Fixes: 175840225
Test: CTS audio tests
Change-Id: I2200b720d98714b44e9ad50ebc06e2c07de0289c
parent 1ab91b43
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1609,9 +1609,11 @@ status_t AudioTrack::createTrack_l()

    media::CreateTrackResponse response;
    status = audioFlinger->createTrack(VALUE_OR_FATAL(input.toAidl()), response);
    IAudioFlinger::CreateTrackOutput output = VALUE_OR_FATAL(
            IAudioFlinger::CreateTrackOutput::fromAidl(
                    response));

    IAudioFlinger::CreateTrackOutput output{};
    if (status == NO_ERROR) {
        output = VALUE_OR_FATAL(IAudioFlinger::CreateTrackOutput::fromAidl(response));
    }

    if (status != NO_ERROR || output.outputId == AUDIO_IO_HANDLE_NONE) {
        ALOGE("%s(%d): AudioFlinger could not create track, status: %d output %d",