Fix static analysis issue in base layer
authorhyuna0213.jo <hyuna0213.jo@samsung.com>
Wed, 1 Feb 2017 11:53:50 +0000 (20:53 +0900)
committerDan Mihai <Daniel.Mihai@microsoft.com>
Thu, 9 Feb 2017 17:16:32 +0000 (17:16 +0000)
-cainterfacecontroller.c: fix dereference memory
-oickeepalive.c: add null check logic

Change-Id: Iaa839b5a8c4eba44934931d9e3b3a529a07a762e
Signed-off-by: hyuna0213.jo <hyuna0213.jo@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/16997
Tested-by: jenkins-iotivity <jenkins@iotivity.org>
Reviewed-by: Dan Mihai <Daniel.Mihai@microsoft.com>
resource/csdk/connectivity/src/cainterfacecontroller.c
resource/csdk/stack/src/oickeepalive.c

index 427c436..c54547d 100644 (file)
@@ -215,6 +215,7 @@ static void RemoveAllNetworkStateChangedCallback()
         OIC_LOG(DEBUG, TAG, "remove all callbacks");
         LL_DELETE(g_networkChangeCallbackList, callback);
         OICFree(callback);
+        callback = NULL;
     }
 }
 
index a179068..89a69ca 100644 (file)
@@ -910,6 +910,12 @@ OCStackResult AddResourceInterfaceNameToPayload(OCRepPayload *payload)
     {
         size_t ifDim[MAX_REP_ARRAY_DEPTH] = {numElement, 0, 0};
         char **itf = (char **)OICMalloc(sizeof(char *) * numElement);
+        if (!itf)
+        {
+            OIC_LOG(ERROR, TAG, "Could not allocate memory for itf");
+            return OC_STACK_NO_MEMORY;
+        }
+
         for (uint8_t i = 0; i < numElement; ++i)
         {
             const char *value = OCGetResourceInterfaceName(g_keepAliveHandle, i);