Skip to content

Commit df68134

Browse files
committed
Add check for valid AIBinder_Class_setTransactionCodeToFunctionNameMap
some APEX modules are running into null-deref when calling AIBinder_Class_setTransactionCodeToFunctionNameMap (artd). Adding a check for to validate function availability. Test: m CtsNdkBinderTestCases && atest -c CtsNdkBinderTestCases Bug: 370091328 Bug: 368303753 Change-Id: I147cca8448c72bbc19ba8cac3cee147f906c7cc4
1 parent 1456474 commit df68134

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

libs/binder/ndk/include_cpp/android/binder_interface_utils.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,8 @@ AIBinder_Class* ICInterface::defineClass(const char* interfaceDescriptor,
299299

300300
#if defined(__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__) || __ANDROID_API__ >= 36
301301
if API_LEVEL_AT_LEAST (36, 202504) {
302-
if (codeToFunction != nullptr) {
302+
if (codeToFunction != nullptr &&
303+
(&AIBinder_Class_setTransactionCodeToFunctionNameMap != nullptr)) {
303304
AIBinder_Class_setTransactionCodeToFunctionNameMap(clazz, codeToFunction,
304305
functionCount);
305306
}

0 commit comments

Comments
 (0)