halapi: Check whether HAL backend library exists or not 94/253194/4 accepted/tizen/unified/20210209.124423 submit/tizen/20210208.080417
authorChanwoo Choi <cw00.choi@samsung.com>
Thu, 4 Feb 2021 09:34:12 +0000 (18:34 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 8 Feb 2021 07:11:11 +0000 (16:11 +0900)
Before loading the library, check wehter HAL backend library
exists or not into /hal/lib/ or /hal/lib64/.

Change-Id: Ibf5c1fd493f785ac8e916eabb285cfad68ea19b0
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
src/hal-api-common.c

index a59bb52..cf5c3fd 100644 (file)
@@ -180,9 +180,17 @@ int hal_common_get_backend(enum hal_module module, void **data)
                        goto err;
                }
 
+               ret = access(library_name, F_OK);
+               if (ret < 0) {
+                       _E("%s: Failed to find backend library (%s)\n",
+                                       info->module_name, library_name);
+                       ret = TIZEN_ERROR_INVALID_PARAMETER;
+                       goto err;
+               }
+
                handle = dlopen(library_name, RTLD_LAZY);
                if (!handle) {
-                       _E("%s: Failed to load shared library (%s)\n",
+                       _E("%s: Failed to load backend library (%s)\n",
                                        info->module_name, dlerror());
                        ret = TIZEN_ERROR_INVALID_PARAMETER;
                        goto err;