From 7062c0fa4c7351a000259dbd6b1b01627881d7bd Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 30 May 2020 21:56:08 +0100 Subject: [PATCH] efm - make some comment notes for exec verify --- src/modules/fileman/e_fwin.c | 5 +++++ src/modules/fileman/e_mod_dbus.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c index 4c79264cf..1bdd3e4b3 100644 --- a/src/modules/fileman/e_fwin.c +++ b/src/modules/fileman/e_fwin.c @@ -1521,6 +1521,7 @@ _e_fwin_file_exec(E_Fwin_Page *page, case E_FWIN_EXEC_DIRECT: snprintf(buf, sizeof(buf), "%s/%s", e_fm2_real_path_get(fwin->cur_page->fm_obj), ici->file); + // XXX: exec verify buf if (fwin->win) e_exec(e_comp_object_util_zone_get(fwin->win), NULL, buf, NULL, "fwin"); else if (fwin->zone) @@ -1529,6 +1530,7 @@ _e_fwin_file_exec(E_Fwin_Page *page, case E_FWIN_EXEC_SH: snprintf(buf, sizeof(buf), "/bin/sh %s", e_util_filename_escape(ici->file)); + // XXX: exec verify buf if (fwin->win) e_exec(e_comp_object_util_zone_get(fwin->win), NULL, buf, NULL, "fwin"); else if (fwin->zone) @@ -1537,6 +1539,7 @@ _e_fwin_file_exec(E_Fwin_Page *page, case E_FWIN_EXEC_TERMINAL_DIRECT: snprintf(buf, sizeof(buf), "%s %s", e_config->exebuf_term_cmd, e_util_filename_escape(ici->file)); + // XXX: exec verify buf if (fwin->win) e_exec(e_comp_object_util_zone_get(fwin->win), NULL, buf, NULL, "fwin"); else if (fwin->zone) @@ -1545,6 +1548,7 @@ _e_fwin_file_exec(E_Fwin_Page *page, case E_FWIN_EXEC_TERMINAL_SH: snprintf(buf, sizeof(buf), "%s /bin/sh %s", e_config->exebuf_term_cmd, e_util_filename_escape(ici->file)); + // XXX: exec verify buf if (fwin->win) e_exec(e_comp_object_util_zone_get(fwin->win), NULL, buf, NULL, "fwin"); else if (fwin->zone) @@ -1553,6 +1557,7 @@ _e_fwin_file_exec(E_Fwin_Page *page, case E_FWIN_EXEC_DESKTOP: snprintf(buf, sizeof(buf), "%s/%s", e_fm2_real_path_get(page->fm_obj), ici->file); + // XXX: exec verify buf desktop = efreet_desktop_new(buf); if (desktop) { diff --git a/src/modules/fileman/e_mod_dbus.c b/src/modules/fileman/e_mod_dbus.c index 2df0fc785..c571bef20 100644 --- a/src/modules/fileman/e_mod_dbus.c +++ b/src/modules/fileman/e_mod_dbus.c @@ -244,7 +244,7 @@ _e_fileman_dbus_daemon_open_file_cb(const Eldbus_Service_Interface *iface EINA_U errmsg = "couldn't open desktop file"; goto error; } - + // XXX: exec verify real_file e_exec(zone, desktop, NULL, NULL, NULL); efreet_desktop_free(desktop); goto end; @@ -252,11 +252,13 @@ _e_fileman_dbus_daemon_open_file_cb(const Eldbus_Service_Interface *iface EINA_U else if ((strcmp(mime, "application/x-executable") == 0) || ecore_file_can_exec(param_file)) { + // XXX: exec verify param_file e_exec(zone, NULL, param_file, NULL, NULL); goto end; } else if (_mime_shell_script_check(mime)) { + // XXX: exec verify param_file Eina_Strbuf *b = eina_strbuf_new(); const char *shell = getenv("SHELL"); if (!shell)