From 8886cd385d0b0dd70c1e623533d3d0a1b32383a6 Mon Sep 17 00:00:00 2001 From: Ryo Nakano Date: Sun, 25 Jan 2026 22:44:35 +0900 Subject: [PATCH] AccentColorManager: Prevent out of range access to themes array --- src/Backends/AccentColorManager.vala | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Backends/AccentColorManager.vala b/src/Backends/AccentColorManager.vala index dde5673b..de61ae77 100644 --- a/src/Backends/AccentColorManager.vala +++ b/src/Backends/AccentColorManager.vala @@ -85,13 +85,15 @@ public class SettingsDaemon.Backends.AccentColorManager : Object { private void update_accent_color () { Theme? new_theme = null; var prefers_accent_color = pantheon_accounts_service.prefers_accent_color; + if (prefers_accent_color < 0 || prefers_accent_color - 1 >= themes.length) { + critical ("Incorrect accent color in pantheon accounts service. color=%d", prefers_accent_color); + return; + } + if (prefers_accent_color == 0) { new_theme = get_dynamic_accent_color_theme_name (); - } else if (prefers_accent_color < themes.length + 1) { - new_theme = themes[prefers_accent_color - 1]; } else { - critical ("Incorrect accent color in pantheon accounts service"); - return; + new_theme = themes[prefers_accent_color - 1]; } interface_settings.set_string ("gtk-theme", new_theme.stylesheet);