From bfb6c1adc7e3f9dd8eaa79dec2e26f2e29fb6b02 Mon Sep 17 00:00:00 2001 From: Simon McVittie <smcv@collabora.com> Date: Thu, 9 Jan 2020 12:54:42 +0000 Subject: [PATCH] Consistently call _srt_check_not_setuid() before looking at the environment Signed-off-by: Simon McVittie <smcv@collabora.com> --- steam-runtime-tools/graphics.c | 1 + steam-runtime-tools/system-info.c | 4 ++++ steam-runtime-tools/utils.c | 1 + 3 files changed, 6 insertions(+) diff --git a/steam-runtime-tools/graphics.c b/steam-runtime-tools/graphics.c index 7231e887c..20ff7481c 100644 --- a/steam-runtime-tools/graphics.c +++ b/steam-runtime-tools/graphics.c @@ -2593,6 +2593,7 @@ _srt_get_modules_full (gchar **envp, g_return_if_fail (multiarch_tuple != NULL); g_return_if_fail (drivers_out != NULL); + g_return_if_fail (_srt_check_not_setuid ()); switch (module) { diff --git a/steam-runtime-tools/system-info.c b/steam-runtime-tools/system-info.c index b407579f0..c61f71b6e 100644 --- a/steam-runtime-tools/system-info.c +++ b/steam-runtime-tools/system-info.c @@ -762,6 +762,8 @@ ensure_overrides_cached (SrtSystemInfo *self) int exit_status = -1; GError *error = NULL; + g_return_if_fail (_srt_check_not_setuid ()); + if (!self->overrides.have_data) { if (self->env != NULL) @@ -866,6 +868,8 @@ ensure_pinned_libs_cached (SrtSystemInfo *self) int exit_status = -1; GError *error = NULL; + g_return_if_fail (_srt_check_not_setuid ()); + if (!self->pinned_libs.have_data) { runtime = srt_system_info_dup_runtime_path (self); diff --git a/steam-runtime-tools/utils.c b/steam-runtime-tools/utils.c index b8c05166e..0ea2c03b8 100644 --- a/steam-runtime-tools/utils.c +++ b/steam-runtime-tools/utils.c @@ -296,6 +296,7 @@ _srt_get_helper (const char *helpers_path, gchar *path; gchar *prefixed; + g_return_val_if_fail (_srt_check_not_setuid (), NULL); g_return_val_if_fail (base != NULL, NULL); g_return_val_if_fail (error == NULL || *error == NULL, NULL); -- GitLab