Use absolute path of where .so is 27/99427/1 submit/tizen_3.0/20161123.012447
authorMyoungJune Park <mj2004.park@samsung.com>
Tue, 27 Sep 2016 02:29:00 +0000 (11:29 +0900)
committerMyoungJune Park <mj2004.park@samsung.com>
Wed, 23 Nov 2016 01:21:15 +0000 (10:21 +0900)
Loading a library dynamically without specifying an absolute path could
allow an attacker to link a malicious library by changing
`$LD_LIBRARY_PATH` or other aspects of the program's execution
environment

Change-Id: I664e7530b9ffb8415a2d5b38ed8c2988f901f533
Signed-off-by: MyoungJune Park <mj2004.park@samsung.com>
collation.c

index 5029eee5b3f972dce7af7f8e44b58909abc92ae8..a09925a9f241bc4e49515c0c9edc56c7a8c9d6ed 100644 (file)
@@ -54,6 +54,7 @@
                        }while(0)
 
 #define DB_UTIL_ERR_COL_FUNC_RET DB_UTIL_ERROR
+#define ICUI18N_LIBPATH "/usr/lib/libicui18n.so"
 
 enum {
        DB_UTIL_ERR_DLOPEN = -10,
@@ -118,7 +119,7 @@ static int __db_util_dl_load_icu()
        };
 
        if(g_dl_icu_handle == NULL) {
-               g_dl_icu_handle = dlopen("libicui18n.so", RTLD_LAZY | RTLD_GLOBAL);
+               g_dl_icu_handle = dlopen(ICUI18N_LIBPATH, RTLD_LAZY | RTLD_GLOBAL);
                if(g_dl_icu_handle == NULL) {
                        DB_UTIL_TRACE_WARNING("dlopen icu so fail");
                        return DB_UTIL_ERR_DLOPEN;