From ef0f21a5f6c7cad9c034a710bc10681dcd0c6d88 Mon Sep 17 00:00:00 2001 From: Jiwoong Im Date: Fri, 28 Apr 2017 13:51:24 +0900 Subject: Loading library with absolute path - Loading libraries without specifying an absolute path could allow an attacker to load a malicious library by changing $LD_* or other aspects of the program's execution environment. Change-Id: Ic51469d1ffab14008e8ef550ae604ee7f3138994 Signed-off-by: Jiwoong Im (cherry picked from commit c1383a9d34d47837503a61ba5affda841156c4eb) --- CMakeLists.txt | 1 + src/engine.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 25ca50f..ff9a865 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") ADD_DEFINITIONS("-DDATAFS=\"${DATADIR}\"") ADD_DEFINITIONS("-DENABLE_UG_CREATE_CB") +ADD_DEFINITIONS("-DUG_LIB_DIR=\"${LIB_INSTALL_DIR}\"") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -Wall") INCLUDE(FindPkgConfig) diff --git a/src/engine.c b/src/engine.c index bf9e32a..a208ceb 100644 --- a/src/engine.c +++ b/src/engine.c @@ -51,7 +51,7 @@ struct ug_engine *ug_engine_load() return NULL; } - handle = dlopen("libui-gadget-1-efl-engine.so", RTLD_LAZY); + handle = dlopen(UG_LIB_DIR"/libui-gadget-1-efl-engine.so", RTLD_LAZY); if (!handle) { _ERR("dlopen failed: %s", dlerror()); goto engine_free; -- cgit v1.2.3