mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Nfc: Null ptr checks in HAL
Adds null pointer checks in the default implementation. Test: compiles Bug: 36149477 Change-Id: I6195ce92f5cefd4b82874866d08014830f400192 Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
This commit is contained in:
@@ -12,7 +12,7 @@ namespace nfc {
|
||||
namespace V1_0 {
|
||||
namespace implementation {
|
||||
|
||||
sp<INfcClientCallback> Nfc::mCallback = NULL;
|
||||
sp<INfcClientCallback> Nfc::mCallback = nullptr;
|
||||
|
||||
Nfc::Nfc(nfc_nci_device_t* device) : mDevice(device),
|
||||
mDeathRecipient(new NfcDeathRecipient(this)) {
|
||||
@@ -21,35 +21,58 @@ Nfc::Nfc(nfc_nci_device_t* device) : mDevice(device),
|
||||
// Methods from ::android::hardware::nfc::V1_0::INfc follow.
|
||||
::android::hardware::Return<NfcStatus> Nfc::open(const sp<INfcClientCallback>& clientCallback) {
|
||||
mCallback = clientCallback;
|
||||
|
||||
if (mDevice == nullptr || mCallback == nullptr) {
|
||||
return NfcStatus::FAILED;
|
||||
}
|
||||
mCallback->linkToDeath(mDeathRecipient, 0 /*cookie*/);
|
||||
int ret = mDevice->open(mDevice, eventCallback, dataCallback);
|
||||
return ret == 0 ? NfcStatus::OK : NfcStatus::FAILED;
|
||||
}
|
||||
|
||||
::android::hardware::Return<uint32_t> Nfc::write(const hidl_vec<uint8_t>& data) {
|
||||
if (mDevice == nullptr) {
|
||||
return -1;
|
||||
}
|
||||
return mDevice->write(mDevice, data.size(), &data[0]);
|
||||
}
|
||||
|
||||
::android::hardware::Return<NfcStatus> Nfc::coreInitialized(const hidl_vec<uint8_t>& data) {
|
||||
hidl_vec<uint8_t> copy = data;
|
||||
|
||||
if (mDevice == nullptr) {
|
||||
return NfcStatus::FAILED;
|
||||
}
|
||||
int ret = mDevice->core_initialized(mDevice, ©[0]);
|
||||
return ret == 0 ? NfcStatus::OK : NfcStatus::FAILED;
|
||||
}
|
||||
|
||||
::android::hardware::Return<NfcStatus> Nfc::prediscover() {
|
||||
if (mDevice == nullptr) {
|
||||
return NfcStatus::FAILED;
|
||||
}
|
||||
return mDevice->pre_discover(mDevice) ? NfcStatus::FAILED : NfcStatus::OK;
|
||||
}
|
||||
|
||||
::android::hardware::Return<NfcStatus> Nfc::close() {
|
||||
if (mDevice == nullptr || mCallback == nullptr) {
|
||||
return NfcStatus::FAILED;
|
||||
}
|
||||
mCallback->unlinkToDeath(mDeathRecipient);
|
||||
return mDevice->close(mDevice) ? NfcStatus::FAILED : NfcStatus::OK;
|
||||
}
|
||||
|
||||
::android::hardware::Return<NfcStatus> Nfc::controlGranted() {
|
||||
if (mDevice == nullptr) {
|
||||
return NfcStatus::FAILED;
|
||||
}
|
||||
return mDevice->control_granted(mDevice) ? NfcStatus::FAILED : NfcStatus::OK;
|
||||
}
|
||||
|
||||
::android::hardware::Return<NfcStatus> Nfc::powerCycle() {
|
||||
if (mDevice == nullptr) {
|
||||
return NfcStatus::FAILED;
|
||||
}
|
||||
return mDevice->power_cycle(mDevice) ? NfcStatus::FAILED : NfcStatus::OK;
|
||||
}
|
||||
|
||||
@@ -57,11 +80,10 @@ Nfc::Nfc(nfc_nci_device_t* device) : mDevice(device),
|
||||
INfc* HIDL_FETCH_INfc(const char * /*name*/) {
|
||||
nfc_nci_device_t* nfc_device;
|
||||
int ret = 0;
|
||||
const hw_module_t* hw_module = NULL;
|
||||
const hw_module_t* hw_module = nullptr;
|
||||
|
||||
ret = hw_get_module (NFC_NCI_HARDWARE_MODULE_ID, &hw_module);
|
||||
if (ret == 0)
|
||||
{
|
||||
if (ret == 0) {
|
||||
ret = nfc_nci_open (hw_module, &nfc_device);
|
||||
if (ret != 0) {
|
||||
ALOGE ("nfc_nci_open failed: %d", ret);
|
||||
|
||||
Reference in New Issue
Block a user