summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Griffis <tingping@tingping.se>2020-02-11 11:59:17 -0800
committerPatrick Griffis <tingping@tingping.se>2020-02-11 12:00:59 -0800
commit94978a931daacca3f466b666737b9d522a417f62 (patch)
tree95745e4d6b364538607fd910a0f4d653d210d86a
parenta2bf5da6265b3494d694d76f875bbc85318547d0 (diff)
downloadflatpak-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.c9
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))