diff options
author | samanway <samanway@linux-samanway.sa.corp.samsungelectronics.net> | 2020-01-22 13:53:41 +0530 |
---|---|---|
committer | DoHyun Pyun <dh79.pyun@samsung.com> | 2020-01-30 10:44:28 +0900 |
commit | 8db06e8bb74bbdb91fa3572da011530977609cf2 (patch) | |
tree | 9b18c43aa8f5a75e2248d9ed9bdb60e16b4c11e9 | |
parent | ba15452d847aa2ce7b75fb4ee610e1841cfe30e9 (diff) | |
download | iotivity-8db06e8bb74bbdb91fa3572da011530977609cf2.tar.gz iotivity-8db06e8bb74bbdb91fa3572da011530977609cf2.tar.bz2 iotivity-8db06e8bb74bbdb91fa3572da011530977609cf2.zip |
Adding NULL check in CALEClientAddUuid
- NULL check was missed before passing string to strcmp()
- Hence, added NULL check
https://github.sec.samsung.net/RS7-IOTIVITY/IoTivity/pull/652
(cherry-picked from 2f6b188bc90dc306f98414189d30206eef38be4a)
Change-Id: Ia92a7a308dcb73999df84d48e67aad6e4d7be0e0
Signed-off-by: samanway-dey <samanway.dey@samsung.com>
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
-rwxr-xr-x | resource/csdk/connectivity/src/bt_le_adapter/android/caleclient.c | 17 |
1 files changed, 14 insertions, 3 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 ebd8a306c..856c42e28 100755 --- a/resource/csdk/connectivity/src/bt_le_adapter/android/caleclient.c +++ b/resource/csdk/connectivity/src/bt_le_adapter/android/caleclient.c @@ -422,12 +422,17 @@ void CALEClientAddUuid(char* uuid, int uuid_type) if (g_manufactureDataCount == 0) { g_manufactureDataList = u_arraylist_create(); - OIC_LOG(DEBUG, TAG, "List of manufacture data created"); + if (!g_manufactureDataList) + { + OIC_LOG(ERROR, TAG, "List could not be created"); + return; + } + OIC_LOG(DEBUG, TAG, "List of manufacture data created"); } for (int i = 0; i < g_manufactureDataCount; i++) { char *str = u_arraylist_get(g_manufactureDataList, i); - if (!strcmp(uuid, str)) + if (str && !strcmp(uuid, str)) { OIC_LOG(DEBUG, TAG, "UUID already set before"); return; @@ -442,12 +447,18 @@ void CALEClientAddUuid(char* uuid, int uuid_type) if (g_serviceUuidCount == 0) { g_serviceUuidList = u_arraylist_create(); + if (!g_serviceUuidList) + { + OIC_LOG(ERROR, TAG, "List could not be created"); + return; + } + OIC_LOG(DEBUG, TAG, "List of service uuid created"); } for (int i = 0; i < g_serviceUuidCount; i++) { char *str = u_arraylist_get(g_serviceUuidList, i); - if (!strcmp(uuid, str)) + if (str && !strcmp(uuid, str)) { OIC_LOG(DEBUG, TAG, "UUID already set before"); return; |