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

Commit 5faedf56 authored by Vishnu Nair's avatar Vishnu Nair
Browse files

Fix releaseBufferCallback null pointer dereference

Test: atest ReleaseBufferCallbackTest
Fixes: 183206609
Change-Id: I2745934ca9c22afde07dd5be2f14bb59e7d4c930
parent b05e9028
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -292,8 +292,11 @@ void TransactionCompletedListener::onTransactionCompleted(ListenerStats listener
                // callback and a release buffer callback happening at the same time to avoid an
                // additional ipc call from the server.
                if (surfaceStats.previousBufferId) {
                    ReleaseBufferCallback callback =
                            popReleaseBufferCallbackLocked(surfaceStats.previousBufferId);
                    ReleaseBufferCallback callback;
                    {
                        std::scoped_lock<std::mutex> lock(mMutex);
                        callback = popReleaseBufferCallbackLocked(surfaceStats.previousBufferId);
                    }
                    if (callback) {
                        callback(surfaceStats.previousBufferId,
                                 surfaceStats.previousReleaseFence