summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsamanway <samanway@linux-samanway.sa.corp.samsungelectronics.net>2020-01-22 13:53:41 +0530
committerDoHyun Pyun <dh79.pyun@samsung.com>2020-01-30 10:54:17 +0900
commit962ac894c7957698134f9ccf953637849a034191 (patch)
treefe530758dccc554d9cc9a92d04832c43d0a8d223
parent79b8fb68d29e0717eaf784563bba9994f5276baf (diff)
downloadiotivity-962ac894c7957698134f9ccf953637849a034191.tar.gz
iotivity-962ac894c7957698134f9ccf953637849a034191.tar.bz2
iotivity-962ac894c7957698134f9ccf953637849a034191.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-xresource/csdk/connectivity/src/bt_le_adapter/android/caleclient.c17
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;