From bf026bd905cf32a5aba3263706f33cf1927647df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Forysiuk?= Date: Tue, 31 Jul 2012 19:09:59 +0200 Subject: [PATCH] Check if path is absolute before building exec_path --- midori/midori-app.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/midori/midori-app.c b/midori/midori-app.c index 1822a91b..f27562c1 100644 --- a/midori/midori-app.c +++ b/midori/midori-app.c @@ -1509,9 +1509,22 @@ midori_app_setup (gchar** argument_vector) #ifdef G_OS_WIN32 exec_path = g_win32_get_package_installation_directory_of_module (NULL); #else - executable = g_file_read_link (command_line[0], NULL); + if (!g_path_is_absolute (command_line[0])) + { + gchar* program = g_find_program_in_path (command_line[0]); + + if (g_file_test (program, G_FILE_TEST_IS_SYMLINK)) + executable = g_file_read_link (program, NULL); + else + executable = g_strdup (program); + + g_free (program); + } + else + executable = g_file_read_link (command_line[0], NULL); + exec_path = g_file_get_path (g_file_get_parent (g_file_get_parent (g_file_new_for_path ( - g_find_program_in_path (executable ? executable : command_line[0]))))); + executable ? executable : command_line[0])))); g_free (executable); #endif