Skip to content

Commit f7d383d

Browse files
johnmart19tejas101k
authored andcommitted
IPCThreadState: Workaround to improve robustness
- From Xiaomi Android 13 Sources Change-Id: I818ff20b8eee8a172cfedfd39d67a9533e25b590 Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
1 parent bf5df0a commit f7d383d

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

libs/binder/IPCThreadState.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,8 @@ void IPCThreadState::processPendingDerefs()
740740
while (mPendingWeakDerefs.size() > 0) {
741741
RefBase::weakref_type* refs = mPendingWeakDerefs[0];
742742
mPendingWeakDerefs.removeAt(0);
743-
refs->decWeak(mProcess.get());
743+
if (refs)
744+
refs->decWeak(mProcess.get());
744745
}
745746

746747
if (mPendingStrongDerefs.size() > 0) {
@@ -750,7 +751,8 @@ void IPCThreadState::processPendingDerefs()
750751
// the decWeak() first.
751752
BBinder* obj = mPendingStrongDerefs[0];
752753
mPendingStrongDerefs.removeAt(0);
753-
obj->decStrong(mProcess.get());
754+
if (obj)
755+
obj->decStrong(mProcess.get());
754756
}
755757
}
756758
}

0 commit comments

Comments
 (0)