From d19f44408000b53b6d61d3e60a3c65104dc5a8c6 Mon Sep 17 00:00:00 2001 From: Xiangzhe Date: Wed, 8 Apr 2026 12:27:28 +0800 Subject: [PATCH] run: Fix checking wrong variable in runtime fd selection In flatpak_run_app(), the else-if branch that handles FLATPAK_RUN_APP_DEPLOY_USR_ORIGINAL was checking custom_app_fd instead of custom_runtime_fd. When custom_app_fd is APP_EMPTY (-3) and custom_runtime_fd is USR_ORIGINAL (-2), the condition would not match and fall through to g_assert_not_reached(), aborting the process. This broke sub-sandbox spawning with --app-path="" (empty app), which is used by steam-runtime-check-requirements to verify that Flatpak's sub-sandbox mechanism works. Fixes: ac62ebe3 "run: Use O_PATH fds for the runtime and app deploy directories" Helps: https://github.com/flatpak/flatpak/issues/6568 (cherry picked from commit 066babba75d355d077ea11091e5f65d3b0e0d818) --- common/flatpak-run.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/flatpak-run.c b/common/flatpak-run.c index 055c721d..f44c66ff 100644 --- a/common/flatpak-run.c +++ b/common/flatpak-run.c @@ -3203,7 +3203,7 @@ flatpak_run_app (FlatpakDecomposed *app_ref, runtime_fd = custom_runtime_fd; runtime_files = custom_runtime_files; } - else if (custom_app_fd == FLATPAK_RUN_APP_DEPLOY_USR_ORIGINAL) + else if (custom_runtime_fd == FLATPAK_RUN_APP_DEPLOY_USR_ORIGINAL) { original_runtime_target_path = "/usr"; runtime_fd = original_runtime_fd; -- 2.54.0