From 0bac74ec2b0e3f5ed03f73b38b0276b595ce723c Mon Sep 17 00:00:00 2001 From: PeterN Date: Wed, 21 Sep 2022 08:31:59 +0100 Subject: [PATCH] Fix #10038: Missing upper bounds check when loading custom playlists (#10039) --- src/music_gui.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/music_gui.cpp b/src/music_gui.cpp index 80d55eb4ba..b4a4de5196 100644 --- a/src/music_gui.cpp +++ b/src/music_gui.cpp @@ -127,11 +127,11 @@ void MusicSystem::BuildPlaylists() /* Load custom playlists * Song index offsets are 1-based, zero indicates invalid/end-of-list value */ for (uint i = 0; i < NUM_SONGS_PLAYLIST; i++) { - if (_settings_client.music.custom_1[i] > 0) { + if (_settings_client.music.custom_1[i] > 0 && _settings_client.music.custom_1[i] <= NUM_SONGS_AVAILABLE) { PlaylistEntry entry(set, _settings_client.music.custom_1[i] - 1); if (entry.IsValid()) this->standard_playlists[PLCH_CUSTOM1].push_back(entry); } - if (_settings_client.music.custom_2[i] > 0) { + if (_settings_client.music.custom_2[i] > 0 && _settings_client.music.custom_2[i] <= NUM_SONGS_AVAILABLE) { PlaylistEntry entry(set, _settings_client.music.custom_2[i] - 1); if (entry.IsValid()) this->standard_playlists[PLCH_CUSTOM2].push_back(entry); }