halapi: Check enum range for backend_abi_min_version 73/252573/2 accepted/tizen/unified/20210202.143743 submit/tizen/20210201.032626
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Fri, 29 Jan 2021 10:27:56 +0000 (19:27 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Mon, 1 Feb 2021 01:59:26 +0000 (10:59 +0900)
To avoid out-of-bounds access of version str array, check value
range for data->backend_abi_min_version always.

Change-Id: I3fb05ab9a27394f817937b589ce7751da0467a69
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
src/hal-api-common.c

index c4e2372..c476024 100644 (file)
@@ -227,6 +227,13 @@ int hal_common_check_backend_abi_version(enum hal_module module,
                if (g_platform_curr_abi_version != data->platform_abi_version)
                        continue;
 
+               if (data->backend_min_abi_version <= HAL_ABI_VERSION_UNKNOWN ||
+                       data->backend_min_abi_version >= HAL_ABI_VERSION_END) {
+                       _E("wrong data in backend_min_abi_version %d\n",
+                               data->backend_min_abi_version);
+                       return TIZEN_ERROR_INVALID_PARAMETER;
+               }
+
                if (abi_version <= data->platform_abi_version
                                && abi_version >= data->backend_min_abi_version)
                        return TIZEN_ERROR_NONE;