From b3249af49bf2b3ffcc5f5a253bb5694f8bf82dcc Mon Sep 17 00:00:00 2001 From: Youngjae Cho Date: Fri, 4 Aug 2023 12:08:11 +0900 Subject: [PATCH] resource-manager: Cleanup uninitialized object correctly When create_resource() fails to set interest bit, a resource instance fails to be initialized completely. At that point of failure, however, the resource instance already has been registered to the hashtable, g_resource_hash_table. Therefore, it is necessary to remove it from the hashtable. Change-Id: I26d392f6645ef9871a10de91117f69226f753638 Signed-off-by: Youngjae Cho --- src/resource-manager/resource-manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resource-manager/resource-manager.c b/src/resource-manager/resource-manager.c index 79c1daa..a9674ec 100644 --- a/src/resource-manager/resource-manager.c +++ b/src/resource-manager/resource-manager.c @@ -369,7 +369,7 @@ syscommon_resman_create_resource(int *resource_id, int resource_type) ret = set_resource_attr_interest_all(resource); if (ret < 0) { - free_resource(resource); + syscommon_resman_delete_resource(resource->id); return ret; } -- 2.34.1