resource-manager: Cleanup uninitialized object correctly 58/296758/3
authorYoungjae Cho <y0.cho@samsung.com>
Fri, 4 Aug 2023 03:08:11 +0000 (12:08 +0900)
committerYoungjae Cho <y0.cho@samsung.com>
Mon, 7 Aug 2023 04:34:42 +0000 (13:34 +0900)
 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 <y0.cho@samsung.com>
src/resource-manager/resource-manager.c

index 79c1daa4bd998c97215d2a735706da87d4f2679a..a9674ec8f9a147dbb5c5d4db64ed24a9aa93a08b 100644 (file)
@@ -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;
        }