From f241cb1770b888b2a48409fc413142792bb9d5a4 Mon Sep 17 00:00:00 2001 From: "jihwan.seo" Date: Mon, 6 Feb 2017 19:35:56 +0900 Subject: [PATCH] Fix BLE crash issue when IoTivity Stop is called. Change-Id: Iee01565d5aab088c597f43f7bad463ab11553e41 Signed-off-by: jihwan.seo Reviewed-on: https://gerrit.iotivity.org/gerrit/17075 Tested-by: jenkins-iotivity Reviewed-by: Dan Mihai --- .../csdk/connectivity/src/bt_le_adapter/android/caleclient.c | 11 +++++++++++ .../csdk/connectivity/src/bt_le_adapter/android/calestate.c | 2 -- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/resource/csdk/connectivity/src/bt_le_adapter/android/caleclient.c b/resource/csdk/connectivity/src/bt_le_adapter/android/caleclient.c index c1631a7..56cc314 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/android/caleclient.c +++ b/resource/csdk/connectivity/src/bt_le_adapter/android/caleclient.c @@ -556,6 +556,11 @@ void CALEClientTerminate() OIC_LOG(ERROR, TAG, "CALERemoveAllDeviceState has failed"); } + oc_mutex_lock(g_deviceStateListMutex); + OICFree(g_deviceStateList); + g_deviceStateList = NULL; + oc_mutex_unlock(g_deviceStateListMutex); + ret = CALEClientRemoveAllScanDevices(env); if (CA_STATUS_OK != ret) { @@ -3843,6 +3848,12 @@ void CALEClientTerminateGattMutexVariables() oc_mutex_free(g_threadScanIntervalMutex); g_threadScanIntervalMutex = NULL; + + oc_mutex_free(g_gattObjectMutex); + g_gattObjectMutex = NULL; + + oc_mutex_free(g_deviceStateListMutex); + g_deviceStateListMutex = NULL; } void CALEClientSetSendFinishFlag(bool flag) diff --git a/resource/csdk/connectivity/src/bt_le_adapter/android/calestate.c b/resource/csdk/connectivity/src/bt_le_adapter/android/calestate.c index c407b1c..d9f7d96 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/android/calestate.c +++ b/resource/csdk/connectivity/src/bt_le_adapter/android/calestate.c @@ -165,8 +165,6 @@ CAResult_t CALERemoveAllDeviceState(u_arraylist_t *deviceList, OICFree(state); } - OICFree(deviceList); - deviceList = NULL; oc_mutex_unlock(deviceListMutex); return CA_STATUS_OK; -- 2.7.4