Value checking to avoid invalid read detection of valgrind 05/250705/1 accepted/tizen/6.0/unified/20210104.210816 submit/tizen_6.0/20210104.043608
authorYoungHun Kim <yh8004.kim@samsung.com>
Sun, 3 Jan 2021 23:45:52 +0000 (08:45 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Mon, 4 Jan 2021 04:01:05 +0000 (13:01 +0900)
Change-Id: I2bcb2b8ab5037297b594a40708f04dd2deed3aad

packaging/mm-resource-manager.spec
src/lib/mm_resource_manager_priv.c

index ede9b86166adc1c54e96f403e94eb1745cacc355..25aea19a51b78cc234fb65cd42898aa1e6b49d5a 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mm-resource-manager
 Summary:    A Multimedia Resource Manager API
-Version:    0.2.41
+Version:    0.2.42
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 555b9019a76c27ae77e07439213ae869987f6b66..2b255c561b441de07afc48fb96b2f63fd7632473 100644 (file)
@@ -346,6 +346,14 @@ int _mm_resource_manager_mark_for_release(mm_resource_manager_h rm, mm_resource_
        MM_RM_HASH64(handle_id);
 
        resource = (mm_resource_manager_res_p)resource_h;
+
+       MM_RM_RETVM_IF(resource->type < MM_RESOURCE_MANAGER_RES_TYPE_VIDEO_DECODER ||
+               resource->type >= MM_RESOURCE_MANAGER_RES_TYPE_MAX,
+               MM_RESOURCE_MANAGER_ERROR_INVALID_OPERATION, "Type [%d] is out of range", resource->type);
+       MM_RM_RETVM_IF(resource->state < MM_RESOURCE_MANAGER_RES_STATE_FOR_ACQUIRE ||
+               resource->state > MM_RESOURCE_MANAGER_RES_STATE_FOR_RELEASE,
+               MM_RESOURCE_MANAGER_ERROR_INVALID_OPERATION, "State [%d] is out of range", resource->state);
+
        res_name = _mm_resource_manager_get_res_str(resource->type);
 
        MM_RM_DEBUG("[invoked : %d state : %s] Resource %p is marked for release in resource #%"PRIu64,