Fix defects detected by static code analyzer
authorJaewook Jung <jw0213.jung@samsung.com>
Mon, 15 May 2017 11:39:16 +0000 (20:39 +0900)
committerUze Choi <uzchoi@samsung.com>
Tue, 16 May 2017 00:37:36 +0000 (00:37 +0000)
- 'addr' of CAEndpoint is a char array so the address of the array cannot
  be null.
- 'requestData' is not dynamic-allocated memory.

Change-Id: Ibcb9f5011b01f19e4624b4d71dcb0181637480b3
Signed-off-by: Jaewook Jung <jw0213.jung@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/19913
Tested-by: jenkins-iotivity <jenkins@iotivity.org>
Reviewed-by: Dan Mihai <Daniel.Mihai@microsoft.com>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
resource/csdk/stack/src/ocendpoint.c
resource/csdk/stack/src/ocstack.c

index 4f4957d..8f4e442 100644 (file)
@@ -277,7 +277,7 @@ exit:
 
 char* OCCreateEndpointStringFromCA(const CAEndpoint_t* endpoint)
 {
-    if (!endpoint)
+    if (!endpoint || 0 == strlen(endpoint->addr))
     {
         return NULL;
     }
@@ -302,7 +302,7 @@ char* OCCreateEndpointStringFromCA(const CAEndpoint_t* endpoint)
 #ifdef HTTP_ADAPTER
     case OC_HTTP: case OC_HTTPS:
 #endif
-        if (!endpoint->addr || !endpoint->port)
+        if (!endpoint->port)
         {
             goto exit;
         }
@@ -322,10 +322,6 @@ char* OCCreateEndpointStringFromCA(const CAEndpoint_t* endpoint)
         break;
 #ifdef EDR_ADAPTER
     case OC_COAP_RFCOMM:
-        if (!endpoint->addr)
-        {
-            goto exit;
-        }
         // coap+rfcomm
         snprintf(buf, MAX_ADDR_STR_SIZE, "%s://%s", ConvertTpsToString(tps), endpoint->addr);
         break;
@@ -556,4 +552,4 @@ OCTpsSchemeFlags OCGetSupportedTpsFlags()
     }
 #endif
     return ret;
-}
\ No newline at end of file
+}
index 3a7d298..419f834 100644 (file)
@@ -1592,7 +1592,7 @@ void OCHandleResponse(const CAEndpoint_t* endPoint, const CAResponseInfo_t* resp
                     if (!requestData.options)
                     {
                         OIC_LOG(ERROR, TAG, "Out of memory");
-                        OICFree(&requestData.token);
+                        OICFree(requestData.token);
                         goto proceed;
                     }
                     memcpy(requestData.options, cbNode->options,