From: senthil.gs@samsung.com Date: Wed, 13 Nov 2019 13:54:41 +0000 (+0530) Subject: Static Analyzer Bug Fixes. (#603) X-Git-Tag: submit/tizen/20191119.000236~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f669a758f80b33cd92e8cc49e960e4ca1b9d759f;p=platform%2Fupstream%2Fiotivity.git Static Analyzer Bug Fixes. (#603) Patch contains fixes for the bugs reported by Sonarqube Tool. https://github.sec.samsung.net/RS7-IOTIVITY/IoTivity/pull/603/commits/7eeacb4f04621469f044b64b42abc45e5b60792a (cherry-picked from 7eeacb4f04621469f044b64b42abc45e5b60792a) Change-Id: Ic3f0a6d27e4c2ec3f52d4452c0957887fe4a9889 Signed-off-by: Senthil Kumar G S Signed-off-by: Sudipto Bal --- diff --git a/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrclient.c b/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrclient.c index 49384b4dd..5fb9d3bf7 100644 --- a/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrclient.c +++ b/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrclient.c @@ -676,7 +676,7 @@ CAResult_t CAEDRClientSendUnicastData(const char *remoteAddress, VERIFY_NON_NULL(remoteAddress, EDR_ADAPTER_TAG, "Remote address is null"); VERIFY_NON_NULL(data, EDR_ADAPTER_TAG, "Data is null"); - if (0 >= dataLength) + if (0 == dataLength) { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Invalid input: Negative data length!"); return CA_STATUS_INVALID_PARAM; @@ -771,7 +771,7 @@ CAResult_t CAEDRClientSendMulticastData(const uint8_t *data, // Input validation VERIFY_NON_NULL(data, EDR_ADAPTER_TAG, "Data is null"); - if (0 >= dataLength) + if (0 == dataLength) { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Invalid input: Negative data length!"); return CA_STATUS_INVALID_PARAM; diff --git a/resource/csdk/connectivity/src/bt_le_adapter/caleadapter.c b/resource/csdk/connectivity/src/bt_le_adapter/caleadapter.c index 0a995079f..225e1be22 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/caleadapter.c +++ b/resource/csdk/connectivity/src/bt_le_adapter/caleadapter.c @@ -929,7 +929,7 @@ static CAResult_t CALEFreeSenderInfo(CABLESenderInfo_t *senderInfo) oc_mutex_lock(g_senderInfoMutex); senderInfo->refCount--; - if(senderInfo->refCount <= 0) + if(senderInfo->refCount == 0) { OICFree(senderInfo->defragData); OICFree(senderInfo->remoteEndpoint); @@ -2639,7 +2639,7 @@ CAResult_t CALESecureReceiveDataCB(const CASecureEndpoint_t *sep, const void *da OIC_LOG_V(DEBUG, CALEADAPTER_TAG, "Secure Data Receive - decrypted datalen = %zd", dataLen); - if (dataLen <= 0) + if (dataLen == 0) { OIC_LOG(ERROR, CALEADAPTER_TAG, "incorrect dataLen, derecypt fail !"); return CA_STATUS_INVALID_PARAM; @@ -3067,7 +3067,7 @@ static int32_t CASendLEMulticastData(const CAEndpoint_t *endpoint, //Input validation VERIFY_NON_NULL_RET(data, CALEADAPTER_TAG, "Data is null", -1); - if (0 >= dataLen) + if (0 == dataLen) { OIC_LOG(ERROR, CALEADAPTER_TAG, "Invalid Parameter"); return -1; diff --git a/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient.c b/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient.c index a5851cb65..fb5a92073 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient.c +++ b/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient.c @@ -428,7 +428,7 @@ static bool CALEIsHaveServiceImpl(bt_adapter_le_device_scan_result_info_s *scanI int man_id; result = bt_adapter_le_get_scan_result_manufacturer_data(scanInfo, pkt_type, &man_id, &man_data, &man_data_len); - + if (result == BT_ERROR_NONE && NULL != man_data) { char *compare_man_data = OICMalloc((man_data_len*2)+1); @@ -1446,7 +1446,7 @@ CAResult_t CAUpdateCharacteristicsToGattServer(const char *remoteAddress, VERIFY_NON_NULL(data, TAG, "data is NULL"); - if (0 >= dataLen) + if (0 == dataLen) { OIC_LOG(ERROR, TAG, "dataLen is less than or equal zero. Invalid input!"); return CA_STATUS_INVALID_PARAM; @@ -1589,7 +1589,7 @@ CAResult_t CAUpdateCharacteristicsToAllGattServers(const uint8_t *data, uint32_t VERIFY_NON_NULL(data, TAG, "data is NULL"); - if (0 >= dataLen) + if (0 == dataLen) { OIC_LOG(ERROR, TAG, "dataLen is less than or equal zero. Invalid input !"); return CA_STATUS_INVALID_PARAM; diff --git a/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient_vd.c b/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient_vd.c index bc52103b4..9b9bcce73 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient_vd.c +++ b/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient_vd.c @@ -1408,7 +1408,7 @@ CAResult_t CAUpdateCharacteristicsToGattServer(const char *remoteAddress, VERIFY_NON_NULL(data, TAG, "data is NULL"); - if (0 >= dataLen) + if (0 == dataLen) { OIC_LOG(ERROR, TAG, "dataLen is less than or equal zero. Invalid input!"); return CA_STATUS_INVALID_PARAM; @@ -1549,7 +1549,7 @@ CAResult_t CAUpdateCharacteristicsToAllGattServers(const uint8_t *data, uint32_t VERIFY_NON_NULL(data, TAG, "data is NULL"); - if (0 >= dataLen) + if (0 == dataLen) { OIC_LOG(ERROR, TAG, "dataLen is less than or equal zero. Invalid input !"); return CA_STATUS_INVALID_PARAM; diff --git a/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleserver_mcd.c b/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleserver_mcd.c index 0f9aaab78..e9e3d0079 100644 --- a/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleserver_mcd.c +++ b/resource/csdk/connectivity/src/bt_le_adapter/tizen/caleserver_mcd.c @@ -159,7 +159,7 @@ CAResult_t CAsetServerAdvertisementData(const char *data, int length) OIC_LOG(DEBUG, TAG, "IN"); - if(!data || strlen(data) <= 0 || length <=0 ) + if(!data || strlen(data) == 0 || length <=0 ) { OIC_LOG(ERROR, TAG, "Invalid param is passed"); return CA_STATUS_INVALID_PARAM; @@ -211,7 +211,7 @@ CAResult_t CAsetServerScanResponseData(const char *data, int length) OIC_LOG(DEBUG, TAG, "IN"); - if(!data || strlen(data) <= 0 || length <=0 ) + if(!data || strlen(data) == 0 || length <=0 ) { OIC_LOG(ERROR, TAG, "Invalid param is passed"); return CA_STATUS_INVALID_PARAM; @@ -358,7 +358,7 @@ CAResult_t CAStartLEGattServer() CATerminateLEGattServer(); return CA_STATUS_FAILED; } - + if(g_leServerAutoAdvertisement) { ret = CALEStartAdvertise(); @@ -374,7 +374,7 @@ CAResult_t CAStartLEGattServer() { OIC_LOG(WARNING, TAG, "Auto advertisement is DISABLED. Advertising is not started."); } - + g_isLEGattServerStarted = true; oc_mutex_unlock(g_leServerStateMutex); @@ -426,7 +426,7 @@ CAResult_t CALEStartAdvertise() { OIC_LOG_V(ERROR, TAG, "CALEStartAdvertiseImpl failed[%d]", res); } - + //This array is freed here because it's used in CALEStartAdvertiseImpl() method (freeing earlier causes bluetooth to crash) if(data) free(data); diff --git a/resource/csdk/connectivity/src/cablockwisetransfer.c b/resource/csdk/connectivity/src/cablockwisetransfer.c index 2d211e281..868b6e85c 100755 --- a/resource/csdk/connectivity/src/cablockwisetransfer.c +++ b/resource/csdk/connectivity/src/cablockwisetransfer.c @@ -2722,7 +2722,6 @@ void CADestroyBlockID(CABlockDataID_t *blockID) VERIFY_NON_NULL_VOID(blockID, TAG, "blockID"); OICFree(blockID->id); OICFree(blockID); - blockID = NULL; } bool CABlockidMatches(const CABlockData_t *currData, const CABlockDataID_t *blockID) diff --git a/resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c b/resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c index 802e41a8a..1dcd8512b 100644 --- a/resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c +++ b/resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c @@ -328,9 +328,9 @@ u_arraylist_t *CAFindInterfaceChange() ssize_t len = recvmsg(caglobals.ip.netlinkFd, &msg, 0); - for (nh = (struct nlmsghdr *)buf; NLMSG_OK(nh, len); nh = NLMSG_NEXT(nh, len)) + for (nh = (struct nlmsghdr *)buf; nh != NULL && NLMSG_OK(nh, len); nh = NLMSG_NEXT(nh, len)) { - if (nh != NULL && (nh->nlmsg_type != RTM_DELADDR && nh->nlmsg_type != RTM_NEWADDR)) + if (nh->nlmsg_type != RTM_DELADDR && nh->nlmsg_type != RTM_NEWADDR) { continue; } diff --git a/resource/csdk/routing/src/routingmessageparser.c b/resource/csdk/routing/src/routingmessageparser.c index 81f460a02..3eac404ee 100644 --- a/resource/csdk/routing/src/routingmessageparser.c +++ b/resource/csdk/routing/src/routingmessageparser.c @@ -245,7 +245,7 @@ OCStackResult RMPParseResponsePayload(const OCRepPayload *payload, uint32_t *gat OCRepPayloadGetPropInt(payload, GATEWAY, &tempGateway); *gatewayId = tempGateway; - if (NULL == gatewayId || 0 == *gatewayId) + if (0 == *gatewayId) { return OC_STACK_COMM_ERROR; } diff --git a/resource/csdk/routing/src/routingtablemanager.c b/resource/csdk/routing/src/routingtablemanager.c index 4eb85015f..f949c6223 100644 --- a/resource/csdk/routing/src/routingtablemanager.c +++ b/resource/csdk/routing/src/routingtablemanager.c @@ -1210,7 +1210,7 @@ OCStackResult RTMRemoveInvalidGateways(u_linklist_t **invalidTable, u_linklist_t for (uint32_t i = 0; i < u_arraylist_length(entry->destination->destIntfAddr); i++) { RTMDestIntfInfo_t *destCheck = u_arraylist_get(entry->destination->destIntfAddr, i); - if (!destCheck && !destCheck->isValid) + if (destCheck && !destCheck->isValid) { void *data = u_arraylist_remove(entry->destination->destIntfAddr, i); OICFree(data); diff --git a/resource/csdk/routing/src/routingutility.c b/resource/csdk/routing/src/routingutility.c index de7781a96..4757e1f58 100644 --- a/resource/csdk/routing/src/routingutility.c +++ b/resource/csdk/routing/src/routingutility.c @@ -224,7 +224,7 @@ OCStackResult RMUpdateInfo(CAHeaderOption_t **options, uint8_t *numOptions, RM_NULL_CHECK_WITH_RET(numOptions, TAG, "numOptions"); RM_NULL_CHECK_WITH_RET(endpoint, TAG, "endpoint"); - if (0 >= *numOptions) + if (0 == *numOptions) { OIC_LOG(ERROR, TAG, "Invalid arguement: numOptions"); return OC_STACK_ERROR; diff --git a/resource/csdk/stack/src/occlientcb.c b/resource/csdk/stack/src/occlientcb.c index 82f46ce40..b616f4145 100755 --- a/resource/csdk/stack/src/occlientcb.c +++ b/resource/csdk/stack/src/occlientcb.c @@ -200,7 +200,6 @@ void DeleteClientCB(ClientCB * cbNode) } #endif // WITH_PRESENCE OICFree(cbNode); - cbNode = NULL; } OIC_TRACE_END(); } diff --git a/resource/csdk/stack/src/ocresource.c b/resource/csdk/stack/src/ocresource.c index bba4dd1b6..bf82aa28b 100644 --- a/resource/csdk/stack/src/ocresource.c +++ b/resource/csdk/stack/src/ocresource.c @@ -618,7 +618,7 @@ OCStackResult DetermineResourceHandling (const OCServerRequest *request, return OC_STACK_NO_RESOURCE; } - if (resourcePtr && resourcePtr->rsrcChildResourcesHead != NULL) + if (resourcePtr->rsrcChildResourcesHead != NULL) { // Collection resource if (resourcePtr->entityHandler != defaultResourceEHandler) diff --git a/resource/csdk/stack/src/ocserverrequest.c b/resource/csdk/stack/src/ocserverrequest.c index aa5930b70..3ebd62b52 100644 --- a/resource/csdk/stack/src/ocserverrequest.c +++ b/resource/csdk/stack/src/ocserverrequest.c @@ -105,7 +105,6 @@ static void DeleteServerRequest(OCServerRequest * serverRequest) OICFree(serverRequest->requestToken); OICFree(serverRequest->rcvdVendorSpecificHeaderOptions); OICFree(serverRequest); - serverRequest = NULL; OIC_LOG(INFO, TAG, "Server Request Removed!!"); } } diff --git a/resource/csdk/stack/src/ocstack.c b/resource/csdk/stack/src/ocstack.c index c5479c63f..c5b6fd347 100644 --- a/resource/csdk/stack/src/ocstack.c +++ b/resource/csdk/stack/src/ocstack.c @@ -5370,42 +5370,39 @@ OCStackResult OCUpdateResourceInsWithResponse(const char *requestUri, if (strcmp(rdPubUri, targetUri) == 0) { // Update resource unique id in stack. - if (response) + if (response->payload) { - if (response->payload) + OCRepPayload *rdPayload = (OCRepPayload *) response->payload; + OCRepPayload **links = NULL; + size_t dimensions[MAX_REP_ARRAY_DEPTH] = { 0 }; + if (OCRepPayloadGetPropObjectArray(rdPayload, OC_RSRVD_LINKS, + &links, dimensions)) { - OCRepPayload *rdPayload = (OCRepPayload *) response->payload; - OCRepPayload **links = NULL; - size_t dimensions[MAX_REP_ARRAY_DEPTH] = { 0 }; - if (OCRepPayloadGetPropObjectArray(rdPayload, OC_RSRVD_LINKS, - &links, dimensions)) + size_t i = 0; + for (; i < dimensions[0]; i++) { - size_t i = 0; - for (; i < dimensions[0]; i++) + char *uri = NULL; + if (OCRepPayloadGetPropString(links[i], OC_RSRVD_HREF, &uri)) { - char *uri = NULL; - if (OCRepPayloadGetPropString(links[i], OC_RSRVD_HREF, &uri)) + OCResourceHandle handle = OCGetResourceHandleAtUri(uri); + int64_t ins = 0; + if (OCRepPayloadGetPropInt(links[i], OC_RSRVD_INS, &ins)) { - OCResourceHandle handle = OCGetResourceHandleAtUri(uri); - int64_t ins = 0; - if (OCRepPayloadGetPropInt(links[i], OC_RSRVD_INS, &ins)) - { - OCBindResourceInsToResource(handle, ins); - } - - OICFree(uri); - uri = NULL; + OCBindResourceInsToResource(handle, ins); } - } - // Free links - size_t count = calcDimTotal(dimensions); - for (size_t k = 0; k < count; k++) - { - OCRepPayloadDestroy(links[k]); + OICFree(uri); + uri = NULL; } - OICFree(links); } + + // Free links + size_t count = calcDimTotal(dimensions); + for (size_t k = 0; k < count; k++) + { + OCRepPayloadDestroy(links[k]); + } + OICFree(links); } } } diff --git a/resource/csdk/stack/src/oicgroup.c b/resource/csdk/stack/src/oicgroup.c index 426558dbf..c75220c94 100644 --- a/resource/csdk/stack/src/oicgroup.c +++ b/resource/csdk/stack/src/oicgroup.c @@ -736,7 +736,7 @@ OCStackResult BuildActionSetFromString(OCActionSet **set, char* actiondesc) } else { - if ((key != NULL) && (value != NULL)) + if (value != NULL) { OIC_LOG(INFO, TAG, "Build OCCapability Instance."); diff --git a/service/easy-setup/enrollee/src/resourcehandler.c b/service/easy-setup/enrollee/src/resourcehandler.c index 1156390a6..779354e5c 100755 --- a/service/easy-setup/enrollee/src/resourcehandler.c +++ b/service/easy-setup/enrollee/src/resourcehandler.c @@ -826,10 +826,9 @@ OCRepPayload* constructResponseOfEasySetup(OCEntityHandlerRequest *ehRequest) // Requested interface is Link list interface //if(ehRequest->query && CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_LL)) - if(!ehRequest->query || - (ehRequest->query && !strcmp(ehRequest->query, "")) || - (ehRequest->query && CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_LL)) || - (ehRequest->query && CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))) + if (!ehRequest->query || !strcmp(ehRequest->query, "") || + CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_LL) || + CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT)) { const OCRepPayload *arrayPayload[3] = {NULL}; @@ -999,9 +998,8 @@ OCRepPayload* constructResponseOfEasySetup(OCEntityHandlerRequest *ehRequest) size_t dimensions[MAX_REP_ARRAY_DEPTH] = {childResCnt, 0, 0}; - if(!ehRequest->query || - (ehRequest->query && !strcmp(ehRequest->query, "")) || - (ehRequest->query && CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))) + if(!ehRequest->query || !strcmp(ehRequest->query, "") || + CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT)) { OIC_LOG(DEBUG, ES_RH_TAG, "constructResponse EasySetup res"); OCRepPayloadSetUri(payload, OC_RSRVD_ES_URI_EASYSETUP); @@ -1654,10 +1652,8 @@ OCStackResult SetEnrolleeErrCode(ESErrorCode esErrCode) OCEntityHandlerResult CheckEhRequestPayload(OCEntityHandlerRequest *ehRequest) { - if( !(ehRequest->query) || - (ehRequest->query && - (strcmp(ehRequest->query, "") && !CompareResourceInterface(ehRequest->query, - OC_RSRVD_INTERFACE_DEFAULT)))) + if( !ehRequest->query || (strcmp(ehRequest->query, "") && + !CompareResourceInterface(ehRequest->query, OC_RSRVD_INTERFACE_DEFAULT))) { OIC_LOG(ERROR, ES_RH_TAG, "Not supported Interface"); return OC_EH_BAD_REQ; diff --git a/service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp b/service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp index d24291926..2457c6d5f 100755 --- a/service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp +++ b/service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp @@ -134,12 +134,9 @@ namespace OIC while (iter) { following = iter->next; - if (iter) - { - NSOICFree(iter->topicName); - iter->next = NULL; - NSOICFree(iter); - } + NSOICFree(iter->topicName); + iter->next = NULL; + NSOICFree(iter); iter = following; } } diff --git a/service/notification/cpp-wrapper/consumer/src/NSProvider.cpp b/service/notification/cpp-wrapper/consumer/src/NSProvider.cpp index 9272cf3bd..b615608b7 100755 --- a/service/notification/cpp-wrapper/consumer/src/NSProvider.cpp +++ b/service/notification/cpp-wrapper/consumer/src/NSProvider.cpp @@ -179,12 +179,9 @@ namespace OIC while (iter) { following = iter->next; - if (iter) - { - NSOICFree(iter->topicName); - iter->next = NULL; - NSOICFree(iter); - } + NSOICFree(iter->topicName); + iter->next = NULL; + NSOICFree(iter); iter = following; } } diff --git a/service/notification/src/common/NSUtil.c b/service/notification/src/common/NSUtil.c index 53c62c499..cf2d6ac08 100644 --- a/service/notification/src/common/NSUtil.c +++ b/service/notification/src/common/NSUtil.c @@ -205,7 +205,6 @@ NSResult NSFreeConsumer(NSConsumer * obj) (obj->consumerId)[0] = '\0'; OICFree(obj); - obj = NULL; return NS_OK; } @@ -492,7 +491,7 @@ OCDevAddr * NSChangeAddress(const char * inputaddress) address = schema + 2; } size_t prefixLen = schema - inputaddress; - if (prefixLen <= 0) + if (prefixLen == 0) { NS_LOG(ERROR, "Invalid Input address."); return NULL; diff --git a/service/notification/src/provider/NSProviderNotification.c b/service/notification/src/provider/NSProviderNotification.c index 74708dff1..6c14b6131 100644 --- a/service/notification/src/provider/NSProviderNotification.c +++ b/service/notification/src/provider/NSProviderNotification.c @@ -92,10 +92,12 @@ OCStackResult NSProviderPublishTopic(OCRepPayload * payload, OCClientResponseHan if (!serverInfo) { - NS_LOG(DEBUG, "serverInfo is not NULL"); - NS_LOG_V(DEBUG, "serverInfo->serverUri = %s", serverInfo->serverUri); + NS_LOG(ERROR, "serverInfo is NULL"); + return OC_STACK_ERROR; } + NS_LOG_V(DEBUG, "serverInfo->serverUri = %s", serverInfo->serverUri); + NS_LOG(DEBUG, "NSProviderPublishTopic - OUT"); return OCDoResource(NULL, OC_REST_POST, serverInfo->serverUri, serverInfo->devAddr,