Fixed possible memory leak condition.
authorRandeep Singh <randeep.s@samsung.com>
Fri, 5 Jun 2015 08:05:53 +0000 (17:05 +0900)
committerSachin Agrawal <sachin.agrawal@intel.com>
Wed, 10 Jun 2015 23:14:48 +0000 (23:14 +0000)
Provisioning API returns list of unprovisioned devices. If parameter for
list is not null it can cause memory leak, changed code from just warning
from API to error and corrected test case according to it

Change-Id: I7ffe7efe116add643c1b062f2396d3486d677273
Signed-off-by: Randeep Singh <randeep.s@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/1203
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Sachin Agrawal <sachin.agrawal@intel.com>
resource/csdk/security/provisioning/src/provisioningmanager.c
resource/csdk/security/provisioning/unittest/provisioningmanager.cpp

index defe4e6..b2dc7b8 100644 (file)
@@ -1338,6 +1338,7 @@ SPResult SPProvisioningDiscovery(unsigned short timeout,
     if (NULL != *list)
     {
         OC_LOG(ERROR, TAG, "List is not null can cause memory leak");
+        return SP_RESULT_INVALID_PARAM;
     }
 
     CARegisterHandler(SPRequestHandler, SPResponseHandler, SPErrorHandler);
index f38b085..11f7dc2 100644 (file)
 
 
 static OicSecAcl_t acl;
+SPTargetDeviceInfo_t list;
+SPTargetDeviceInfo_t *ptr = &list;
 
-TEST(SPProvisioningDiscoveryTest, NullConectivity)
+TEST(SPProvisioningDiscoveryTest, NotNullList)
 {
-    EXPECT_EQ(SP_RESULT_INVALID_PARAM, SPProvisioningDiscovery(0, NULL));
+    EXPECT_EQ(SP_RESULT_INVALID_PARAM, SPProvisioningDiscovery(0, &ptr));
 }
 
 TEST(SPInitProvisionContextTest, NullDeviceInfo)