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

Commit 86570d2a authored by Wei Jia's avatar Wei Jia Committed by Michael Bestas
Browse files

DO NOT MERGE - IAudioFlinger: always initialize variables to ensure no info...

DO NOT MERGE - IAudioFlinger: always initialize variables to ensure no info leak when writing them to Parcel.

Bug: 23953967
Change-Id: Ibbe841da149038675e9e8daea76c77558bc8564b
(cherry picked from commit 983dca39)
(cherry picked from commit 8336fc43)
parent 12a20142
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -842,7 +842,7 @@ status_t BnAudioFlinger::onTransact(
            int sessionId = data.readInt32();
            int clientUid = data.readInt32();
            String8 name;
            status_t status;
            status_t status = NO_ERROR;
            sp<IAudioTrack> track;
            if ((haveSharedBuffer && (buffer == 0)) ||
                    ((buffer != 0) && (buffer->pointer() == NULL))) {
@@ -891,7 +891,7 @@ status_t BnAudioFlinger::onTransact(
            track_flags_t flags = (track_flags_t) data.readInt32();
            pid_t tid = (pid_t) data.readInt32();
            int sessionId = data.readInt32();
            status_t status;
            status_t status = NO_ERROR;
            sp<IAudioRecord> record = openRecord(input,
                    sampleRate, format, channelMask, frameCount, &flags, tid, &sessionId, &status);
            LOG_ALWAYS_FATAL_IF((record != 0) != (status == NO_ERROR));
@@ -1109,8 +1109,8 @@ status_t BnAudioFlinger::onTransact(
        case GET_RENDER_POSITION: {
            CHECK_INTERFACE(IAudioFlinger, data, reply);
            audio_io_handle_t output = (audio_io_handle_t) data.readInt32();
            size_t halFrames;
            size_t dspFrames;
            size_t halFrames = 0;
            size_t dspFrames = 0;
            status_t status = getRenderPosition(&halFrames, &dspFrames, output);
            reply->writeInt32(status);
            if (status == NO_ERROR) {
@@ -1144,7 +1144,7 @@ status_t BnAudioFlinger::onTransact(
        } break;
        case QUERY_NUM_EFFECTS: {
            CHECK_INTERFACE(IAudioFlinger, data, reply);
            uint32_t numEffects;
            uint32_t numEffects = 0;
            status_t status = queryNumberEffects(&numEffects);
            reply->writeInt32(status);
            if (status == NO_ERROR) {
@@ -1154,7 +1154,7 @@ status_t BnAudioFlinger::onTransact(
        }
        case QUERY_EFFECT: {
            CHECK_INTERFACE(IAudioFlinger, data, reply);
            effect_descriptor_t desc;
            effect_descriptor_t desc = {};
            status_t status = queryEffect(data.readInt32(), &desc);
            reply->writeInt32(status);
            if (status == NO_ERROR) {
@@ -1166,7 +1166,7 @@ status_t BnAudioFlinger::onTransact(
            CHECK_INTERFACE(IAudioFlinger, data, reply);
            effect_uuid_t uuid;
            data.read(&uuid, sizeof(effect_uuid_t));
            effect_descriptor_t desc;
            effect_descriptor_t desc = {};
            status_t status = getEffectDescriptor(&uuid, &desc);
            reply->writeInt32(status);
            if (status == NO_ERROR) {
@@ -1184,9 +1184,9 @@ status_t BnAudioFlinger::onTransact(
            int32_t priority = data.readInt32();
            audio_io_handle_t output = (audio_io_handle_t) data.readInt32();
            int sessionId = data.readInt32();
            status_t status;
            int id;
            int enabled;
            status_t status = NO_ERROR;
            int id = 0;
            int enabled = 0;

            sp<IEffect> effect = createEffect(&desc, client, priority, output, sessionId,
                    &status, &id, &enabled);