From: Youngjae Cho Date: Wed, 11 Jan 2023 01:56:27 +0000 (+0900) Subject: resource-manager: fix free_resource() X-Git-Tag: accepted/tizen/unified/20230209.111304~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=76dc73cf86cc9e591c36ebfab5f24d47c3ea74ac;p=platform%2Fcore%2Fsystem%2Flibsyscommon.git resource-manager: fix free_resource() Change-Id: I15855cc6ce7eef4859a94fbc0d959d91abdd0c06 Signed-off-by: Youngjae Cho --- diff --git a/src/resource-manager/resource-manager.c b/src/resource-manager/resource-manager.c index 36ec43f..629df21 100644 --- a/src/resource-manager/resource-manager.c +++ b/src/resource-manager/resource-manager.c @@ -23,7 +23,6 @@ #include "resource-manager.h" #include "resource-type.h" -#define RESOURCE_ATTR_MASK (ULLONG_MAX) #define BIT64_INDEX(id) (63 - __builtin_clzll(id)) #define RESOURCE_ATTR_INDEX(id) BIT64_INDEX(id) #define RESOURCE_CTRL_INDEX(id) BIT64_INDEX(id) @@ -94,10 +93,13 @@ static int alloc_resource_id(void) static void free_resource(struct syscommon_resman_resource *resource) { - if (!resource->name) - free(resource->name); - if (!resource->attrs_value) - free(resource->attrs_value); + free(resource->name); + resource->name = NULL; + + unset_resource_attr_interest(resource, resource->attr_interest); + free(resource->attrs_value); + resource->attrs_value = NULL; + resource->attrs = NULL; resource->num_attrs = 0; @@ -114,8 +116,6 @@ static void delete_resource(void *data) if (resource->driver && resource->driver->ops.delete) resource->driver->ops.delete(resource->id); - unset_resource_attr_interest(resource, RESOURCE_ATTR_MASK); - free_resource(resource); }