Guard against tracks_len being zero

to prevent 'index out of bounds: the len is 0 but the index is 0'
https://github.com/librespot-org/librespot/issues/226#issuecomment-971642037
This commit is contained in:
JasonLG1979 2021-11-17 21:15:35 -06:00
parent 85d6049ee7
commit 3016d6fbdb

View file

@ -1140,6 +1140,14 @@ impl SpircTask {
fn get_track_id_to_play_from_playlist(&self, index: u32) -> Option<(SpotifyId, u32)> {
let tracks_len = self.state.get_track().len();
// Guard against tracks_len being zero to prevent
// 'index out of bounds: the len is 0 but the index is 0'
// https://github.com/librespot-org/librespot/issues/226#issuecomment-971642037
if tracks_len == 0 {
warn!("No playable track found in state: {:?}", self.state);
return None;
}
let mut new_playlist_index = index as usize;
if new_playlist_index >= tracks_len {