From 6fb5cb3332ac20decbe3049ff091532141e7f270 Mon Sep 17 00:00:00 2001 From: Pawan Wagh Date: Wed, 1 Feb 2023 23:38:37 +0000 Subject: [PATCH] Fixing null deference in android.hardware.usb.gadget-service.example Test: atest VtsAidlUsbTargetTest Bug: 267534245 Change-Id: Ib28b7848205809912b6789d0e050c1a981dc1ce8 --- usb/gadget/aidl/default/UsbGadget.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/usb/gadget/aidl/default/UsbGadget.cpp b/usb/gadget/aidl/default/UsbGadget.cpp index c4986e8e18..4a406528f7 100644 --- a/usb/gadget/aidl/default/UsbGadget.cpp +++ b/usb/gadget/aidl/default/UsbGadget.cpp @@ -90,8 +90,11 @@ void currentFunctionsAppliedCallback(bool functionsApplied, void *payload) { gadget->mCurrentUsbFunctionsApplied = functionsApplied; } -ScopedAStatus UsbGadget::getCurrentUsbFunctions(const shared_ptr &callback, - int64_t in_transactionId) { +ScopedAStatus UsbGadget::getCurrentUsbFunctions(const shared_ptr& callback, + int64_t in_transactionId) { + if (callback == nullptr) { + return ScopedAStatus::fromExceptionCode(EX_NULL_POINTER); + } ScopedAStatus ret = callback->getCurrentUsbFunctionsCb( mCurrentUsbFunctions, mCurrentUsbFunctionsApplied ? Status::FUNCTIONS_APPLIED : Status::FUNCTIONS_NOT_APPLIED,