summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryoungman <yman.jung@samsung.com>2016-09-09 08:41:53 +0900
committeryoungman <yman.jung@samsung.com>2016-09-09 08:43:46 +0900
commit979d7e25d9f19da26c521e3eb65ce58317053ddb (patch)
tree4da8b241a2a1a445e1e6917ab6d290f18d4c4886
parentff61932043143d8511e7ff30f385f90c97960f3f (diff)
downloadiotcon-979d7e25d9f19da26c521e3eb65ce58317053ddb.tar.gz
iotcon-979d7e25d9f19da26c521e3eb65ce58317053ddb.tar.bz2
iotcon-979d7e25d9f19da26c521e3eb65ce58317053ddb.zip
fix memory leak in converting acl step
Change-Id: Ice695ceb2b5fcff68fb6d34702e7d939aaa9cea0 Signed-off-by: youngman <yman.jung@samsung.com>
-rw-r--r--src/ic-provisioning.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ic-provisioning.c b/src/ic-provisioning.c
index fab9908..f4df214 100644
--- a/src/ic-provisioning.c
+++ b/src/ic-provisioning.c
@@ -522,6 +522,8 @@ static OicSecAcl_t* _provisioning_convert_acl(iotcon_provisioning_device_h devic
resource->types = calloc(1, sizeof(char*));
if (NULL == resource->types) {
ERR("calloc() Fail(%d)", errno);
+ free(resource);
+ OCDeleteACLList(oic_acl);
return NULL;
}
resource->types[0] = strdup(" ");
@@ -530,6 +532,10 @@ static OicSecAcl_t* _provisioning_convert_acl(iotcon_provisioning_device_h devic
resource->interfaces = calloc(1, sizeof(char*));
if (NULL == resource->interfaces) {
ERR("calloc() Fail(%d)", errno);
+ free(resource->types[0]);
+ free(resource->types);
+ free(resource);
+ OCDeleteACLList(oic_acl);
return NULL;
}
resource->interfaces[0] = strdup(OC_RSRVD_INTERFACE_DEFAULT);