From 86dac7a4bb9f3e712f45db2e42962d2ded8f1b5d Mon Sep 17 00:00:00 2001 From: Romain Tartiere Date: Thu, 3 Dec 2009 02:08:40 +0000 Subject: [PATCH] Do not call drivers' connect() function if pick_device() returns NULL. --- src/lib/nfc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/nfc.c b/src/lib/nfc.c index b37f108..0930eed 100644 --- a/src/lib/nfc.c +++ b/src/lib/nfc.c @@ -110,7 +110,7 @@ nfc_list_devices(nfc_device_desc_t pnddDevices[], size_t szDevices, size_t *pszD nfc_device_t* nfc_connect(nfc_device_desc_t* pndd) { - nfc_device_t* pnd; + nfc_device_t* pnd = NULL; uint32_t uiDriver; byte_t abtFw[4]; size_t szFwLen = sizeof(abtFw); @@ -124,7 +124,8 @@ nfc_device_t* nfc_connect(nfc_device_desc_t* pndd) if(drivers_callbacks_list[uiDriver].pick_device != NULL) pndd = drivers_callbacks_list[uiDriver].pick_device (); DBG("Auto-connecting %s device",drivers_callbacks_list[uiDriver].acDriver); - pnd = drivers_callbacks_list[uiDriver].connect(pndd); + if (pndd != NULL) + pnd = drivers_callbacks_list[uiDriver].connect(pndd); if(pnd == NULL) { DBG("%s Not found",drivers_callbacks_list[uiDriver].acDriver);