From: jihwan.seo Date: Mon, 6 Feb 2017 10:35:56 +0000 (+0900) Subject: Fix BLE crash issue when IoTivity Stop is called. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f241cb1770b888b2a48409fc413142792bb9d5a4;p=contrib%2Fiotivity.git 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 --- 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;