From: veeraj.sk Date: Tue, 21 Mar 2017 10:13:17 +0000 (+0530) Subject: Add missing null checks [IOT-1190] X-Git-Tag: 1.3.0~383 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=202badc225f556923eaca564d97f0a6264156502;p=platform%2Fupstream%2Fiotivity.git Add missing null checks [IOT-1190] Add missing null checks after calling OICMalloc and OICStrdup in bt_le_adapter/linux/client.c, caradapter.c and ocpayload.c. Change-Id: I57c82caa0dea117b19b548562fa27bad0b2f3ec6 Signed-off-by: Veeraj Khokale Reviewed-on: https://gerrit.iotivity.org/gerrit/18051 Tested-by: jenkins-iotivity Reviewed-by: Phil Coval Reviewed-by: Ashok Babu Channa --- diff --git a/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c b/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c index bc9b123..83c8ee1 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c +++ b/resource/csdk/connectivity/src/bt_le_adapter/linux/client.c @@ -236,6 +236,16 @@ static bool CAGattClientSetupCharacteristics( if (strcasecmp(uuid, CA_GATT_REQUEST_CHRC_UUID) == 0) { char * const addr = OICStrdup(address); + + if (NULL == addr) + { + OIC_LOG(ERROR, TAG, "Could not duplicate addr"); + g_variant_unref(uuid_prop); + g_object_unref(characteristic); + success = false; + break; + } + gpointer * const chrc = g_object_ref(characteristic); // Map LE (MAC) address to request characteristic. @@ -255,6 +265,16 @@ static bool CAGattClientSetupCharacteristics( char * const p = OICStrdup(*path); char * const addr = OICStrdup(address); + if (NULL == addr || NULL == p) + { + OIC_LOG_V(ERROR, TAG, + "OICStrdup failed, addr= %p, path= %p", addr, p); + g_variant_unref(uuid_prop); + g_object_unref(characteristic); + success = false; + break; + } + // Map GATT service D-Bus object path to client address. if (!CAGattClientMapInsert(address_map, p, addr)) { diff --git a/resource/csdk/connectivity/src/ra_adapter/caraadapter.c b/resource/csdk/connectivity/src/ra_adapter/caraadapter.c index 141f7c9..2ce3cb8 100644 --- a/resource/csdk/connectivity/src/ra_adapter/caraadapter.c +++ b/resource/csdk/connectivity/src/ra_adapter/caraadapter.c @@ -144,6 +144,13 @@ static void CARAUpdateObsList(int option, char *sid) if (option == OBSERVE_REGISTER) { obs_item_t *item = (obs_item_t *) OICMalloc(sizeof(*item)); + + if (NULL == item) + { + OIC_LOG(ERROR, RA_ADAPTER_TAG, "Memory allocation failed for obs item"); + return; + } + OICStrcpy(item->sessid, sizeof(item->sessid), sid); item->option = OBSERVE_REGISTER; ilist_add(g_observerList, item); diff --git a/resource/csdk/stack/src/ocpayload.c b/resource/csdk/stack/src/ocpayload.c index 47cbb02..aefc908 100644 --- a/resource/csdk/stack/src/ocpayload.c +++ b/resource/csdk/stack/src/ocpayload.c @@ -149,6 +149,7 @@ static void OCCopyPropertyValueArray(OCRepPayloadValue* dest, OCRepPayloadValue* for(size_t i = 0; i < dimTotal; ++i) { dest->arr.strArray[i] = OICStrdup(source->arr.strArray[i]); + VERIFY_PARAM_NON_NULL(TAG, dest->arr.strArray[i], "Failed to duplicate string"); } break; case OCREP_PROP_OBJECT: