diff options
author | Patrick Griffis <tingping@tingping.se> | 2020-02-11 11:59:17 -0800 |
---|---|---|
committer | Patrick Griffis <tingping@tingping.se> | 2020-02-11 12:00:59 -0800 |
commit | 94978a931daacca3f466b666737b9d522a417f62 (patch) | |
tree | 95745e4d6b364538607fd910a0f4d653d210d86a | |
parent | a2bf5da6265b3494d694d76f875bbc85318547d0 (diff) | |
download | flatpak-tingping/tmpdir-suid-fix.tar.gz |
run: Fix TMPDIR env var not being passed through suid bwraptingping/tmpdir-suid-fix
Fixes #2641
Fixes flathub/org.electronjs.Electron2.BaseApp#4
-rw-r--r-- | common/flatpak-run.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/common/flatpak-run.c b/common/flatpak-run.c index 24ec48e4..7a872ec8 100644 --- a/common/flatpak-run.c +++ b/common/flatpak-run.c @@ -1323,6 +1323,15 @@ flatpak_run_add_environment_args (FlatpakBwrap *bwrap, flatpak_bwrap_unset_env (bwrap, "LD_LIBRARY_PATH"); } + if (g_environ_getenv (bwrap->envp, "TMPDIR") != NULL) + { + /* TMPDIR is overridden for setuid helper, so pass it as cmdline arg */ + flatpak_bwrap_add_args (bwrap, + "--setenv", "TMPDIR", g_environ_getenv (bwrap->envp, "TMPDIR"), + NULL); + flatpak_bwrap_unset_env (bwrap, "TMPDIR"); + } + /* Must run this before spawning the dbus proxy, to ensure it ends up in the app cgroup */ if (!flatpak_run_in_transient_unit (app_id, &my_error)) |