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

Commit 700923e3 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

volume listener: check for correct effect descriptor when releasing

It is possible that the effect descriptor in the listener
context is NULL. Attempting to access its fields would result
in a SIGSEGV. Add a check to avoid crashing.

Bug: 63780779
Test: HAL should not be crashing in vol_prc_lib_release
Change-Id: I241890840acab56e0c706ffca542fa2b1ffef02a
parent 39c55dcd
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -766,6 +766,16 @@ static int vol_prc_lib_release(effect_handle_t handle)
    pthread_mutex_lock(&vol_listner_init_lock);
    session_id = recv_contex->session_id;
    stream_type = recv_contex->stream_type;

    if (recv_contex->desc == NULL) {
        ALOGE("%s: Got NULL descriptor, session %u, stream type %u",
                __func__, session_id, stream_type);
        if (dumping_enabled) {
            dump_list_l();
        }
        pthread_mutex_unlock(&vol_listner_init_lock);
        return status;
    }
    uuid = recv_contex->desc->uuid;

    // check if the handle/context provided is valid