clean up FreeCARequestInfo of security
authorjihwan.seo <jihwan.seo@samsung.com>
Mon, 2 May 2016 07:23:40 +0000 (16:23 +0900)
committerAshok Babu Channa <ashok.channa@samsung.com>
Thu, 5 May 2016 14:33:33 +0000 (14:33 +0000)
- added null checker
- removed duplicated codes with line 133 of header file

Change-Id: I7a7454e29ef2a63cfa9cf3107922e90b56baa313
Signed-off-by: jihwan.seo <jihwan.seo@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/8023
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Jon A. Cruz <jon@joncruz.org>
Reviewed-by: Ashok Babu Channa <ashok.channa@samsung.com>
resource/csdk/security/include/internal/amsmgr.h
resource/csdk/security/src/amsmgr.c
resource/csdk/security/src/policyengine.c

index d9d74b5..9604ff2 100644 (file)
@@ -102,14 +102,6 @@ OCStackResult SendUnicastSecurePortDiscovery(PEContext_t *context,OCDevAddr *dev
 OCStackResult SendAclReq(PEContext_t *context, OCDevAddr *devAddr, OCConnectivityType connType,
         uint16_t securedPort);
 
-
-/*
- * Cleanup CARequestInfo_t object
- * @param requestInfo        pointer to RequestInfo_t object
- */
-void FreeCARequestInfo(CARequestInfo_t *requestInfo);
-
-
 /*
  * This method is used by Policy engine to checks Amacl resource.
  * If Amacl is found then it fills up context->amsMgrContext->amsDeviceId
index c9be755..b43b69c 100644 (file)
@@ -331,6 +331,11 @@ OCStackResult UpdateAmsMgrContext(PEContext_t *context, const CAEndpoint_t *endp
 {
     OCStackResult ret = OC_STACK_ERROR;
 
+    if (!context->amsMgrContext)
+    {
+        goto exit;
+    }
+
     //The AmsMgr context endpoint and requestInfo will be free from ,
     //AmsMgrAclReqCallback function
     if(context->amsMgrContext->endpoint)
@@ -356,9 +361,9 @@ exit:
 
 void FreeCARequestInfo(CARequestInfo_t *requestInfo)
 {
-    if(NULL == requestInfo)
+    if (NULL == requestInfo)
     {
-        OIC_LOG_V(ERROR, TAG, "%s: Can't free memory. Received NULL requestInfo", __func__);
+        OIC_LOG_V(DEBUG, TAG, "%s: Can't free memory. Received NULL requestInfo", __func__);
         return;
     }
     OICFree(requestInfo->info.token);
index 088496a..1e20b40 100644 (file)
@@ -97,9 +97,15 @@ void SetPolicyEngineState(PEContext_t *context, const PEState_t state)
     context->amsProcessing = false;
     context->retVal = ACCESS_DENIED_POLICY_ENGINE_ERROR;
 
-    FreeCARequestInfo(context->amsMgrContext->requestInfo);
-    OICFree(context->amsMgrContext->endpoint);
-    memset(context->amsMgrContext, 0, sizeof(AmsMgrContext_t));
+    if (context->amsMgrContext)
+    {
+        if (context->amsMgrContext->requestInfo)
+        {
+            FreeCARequestInfo(context->amsMgrContext->requestInfo);
+        }
+        OICFree(context->amsMgrContext->endpoint);
+        memset(context->amsMgrContext, 0, sizeof(AmsMgrContext_t));
+    }
 
     // Set state.
     context->state = state;