Static Analyzer Bug Fixes. (#603) 52/217952/1
authorsenthil.gs@samsung.com <senthil.gs@samsung.com>
Wed, 13 Nov 2019 13:54:41 +0000 (19:24 +0530)
committerSudipto Bal <sudipto.bal@samsung.com>
Mon, 18 Nov 2019 03:36:17 +0000 (12:36 +0900)
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 <senthil.gs@samsung.com>
Signed-off-by: Sudipto Bal <sudipto.bal@samsung.com>
20 files changed:
resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrclient.c
resource/csdk/connectivity/src/bt_le_adapter/caleadapter.c
resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient.c
resource/csdk/connectivity/src/bt_le_adapter/tizen/caleclient_vd.c
resource/csdk/connectivity/src/bt_le_adapter/tizen/caleserver_mcd.c
resource/csdk/connectivity/src/cablockwisetransfer.c
resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c
resource/csdk/routing/src/routingmessageparser.c
resource/csdk/routing/src/routingtablemanager.c
resource/csdk/routing/src/routingutility.c
resource/csdk/stack/src/occlientcb.c
resource/csdk/stack/src/ocresource.c
resource/csdk/stack/src/ocserverrequest.c
resource/csdk/stack/src/ocstack.c
resource/csdk/stack/src/oicgroup.c
service/easy-setup/enrollee/src/resourcehandler.c
service/notification/cpp-wrapper/consumer/src/NSConsumerService.cpp
service/notification/cpp-wrapper/consumer/src/NSProvider.cpp
service/notification/src/common/NSUtil.c
service/notification/src/provider/NSProviderNotification.c

index 49384b4..5fb9d3b 100644 (file)
@@ -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;
index 0a99507..225e1be 100644 (file)
@@ -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;
index a5851cb..fb5a920 100644 (file)
@@ -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;
index bc52103..9b9bcce 100644 (file)
@@ -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;
index 0f9aaab..e9e3d00 100644 (file)
@@ -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);
index 2d211e2..868b6e8 100755 (executable)
@@ -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)
index 802e41a..1dcd851 100644 (file)
@@ -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;
         }
index 81f460a..3eac404 100644 (file)
@@ -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;
     }
index 4eb8501..f949c62 100644 (file)
@@ -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);
index de7781a..4757e1f 100644 (file)
@@ -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;
index 82f46ce..b616f41 100755 (executable)
@@ -200,7 +200,6 @@ void DeleteClientCB(ClientCB * cbNode)
         }
 #endif // WITH_PRESENCE
         OICFree(cbNode);
-        cbNode = NULL;
     }
     OIC_TRACE_END();
 }
index bba4dd1..bf82aa2 100644 (file)
@@ -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)
index aa5930b..3ebd62b 100644 (file)
@@ -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!!");
     }
 }
index c5479c6..c5b6fd3 100644 (file)
@@ -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);
                 }
             }
         }
index 426558d..c75220c 100644 (file)
@@ -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.");
 
index 1156390..779354e 100755 (executable)
@@ -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;
index d242919..2457c6d 100755 (executable)
@@ -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;
                         }
                     }
index 9272cf3..b615608 100755 (executable)
@@ -179,12 +179,9 @@ namespace OIC
                 while (iter)\r
                 {\r
                     following = iter->next;\r
-                    if (iter)\r
-                    {\r
-                        NSOICFree(iter->topicName);\r
-                        iter->next = NULL;\r
-                        NSOICFree(iter);\r
-                    }\r
+                    NSOICFree(iter->topicName);\r
+                    iter->next = NULL;\r
+                    NSOICFree(iter);\r
                     iter = following;\r
                 }\r
             }\r
index 53c62c4..cf2d6ac 100644 (file)
@@ -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;
index 74708df..6c14b61 100644 (file)
@@ -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,