IPCThreadState: Import Xiaomi Android 13 robustness modification
Change-Id: Ieeb92da71d41acea5ad53a6ae30f43289d8b6fae
Reviewed-on: https://review.blissroms.org/c/platform_system_libhwbinder/+/18041
Tested-by: Jack <jackeagle102@gmail.com>
Reviewed-by: Jack <jackeagle102@gmail.com>
diff --git a/IPCThreadState.cpp b/IPCThreadState.cpp
index aa050fc..e3b5716 100644
--- a/IPCThreadState.cpp
+++ b/IPCThreadState.cpp
@@ -497,7 +497,11 @@
while (mPendingWeakDerefs.size() > 0) {
RefBase::weakref_type* refs = mPendingWeakDerefs[0];
mPendingWeakDerefs.removeAt(0);
- refs->decWeak(mProcess.get());
+ // MIUI MOD: workaround to improve robustness
+ if (refs) {
+ refs->decWeak(mProcess.get());
+ }
+ // END
}
if (mPendingStrongDerefs.size() > 0) {
@@ -507,7 +511,11 @@
// the decWeak() first.
BHwBinder* obj = mPendingStrongDerefs[0];
mPendingStrongDerefs.removeAt(0);
- obj->decStrong(mProcess.get());
+ // MIUI MOD: workaround to improve robustness
+ if (obj) {
+ obj->decStrong(mProcess.get());
+ }
+ // END
}
}
}