Fix #10038: Missing upper bounds check when loading custom playlists (#10039)

pull/434/head
PeterN 2 years ago committed by GitHub
parent f59f0195e3
commit 0bac74ec2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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);
}

Loading…
Cancel
Save