diff options
| -rw-r--r-- | libs/binder/ndk/include_cpp/android/binder_interface_utils.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/binder/ndk/include_cpp/android/binder_interface_utils.h b/libs/binder/ndk/include_cpp/android/binder_interface_utils.h index 78bcb432ab..81975e7b63 100644 --- a/libs/binder/ndk/include_cpp/android/binder_interface_utils.h +++ b/libs/binder/ndk/include_cpp/android/binder_interface_utils.h @@ -291,7 +291,10 @@ void ICInterface::ICInterfaceData::onDestroy(void* userData) { binder_status_t ICInterface::ICInterfaceData::onDump(AIBinder* binder, int fd, const char** args, uint32_t numArgs) { std::shared_ptr<ICInterface> interface = getInterface(binder); - return interface->dump(fd, args, numArgs); + if (interface != nullptr) { + return interface->dump(fd, args, numArgs); + } + return STATUS_DEAD_OBJECT; } #ifdef HAS_BINDER_SHELL_COMMAND @@ -299,7 +302,10 @@ binder_status_t ICInterface::ICInterfaceData::handleShellCommand(AIBinder* binde int err, const char** argv, uint32_t argc) { std::shared_ptr<ICInterface> interface = getInterface(binder); - return interface->handleShellCommand(in, out, err, argv, argc); + if (interface != nullptr) { + return interface->handleShellCommand(in, out, err, argv, argc); + } + return STATUS_DEAD_OBJECT; } #endif |