From b3072709e448388e38ed52196889d1ea414e3110 Mon Sep 17 00:00:00 2001 From: o1 Date: Wed, 7 Jan 2015 15:10:33 +0300 Subject: [PATCH] Fixed possible track idx overflow causing crash --- Playlist/PlaylistController.m | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/Playlist/PlaylistController.m b/Playlist/PlaylistController.m index 7a9a2c470..078a9a985 100644 --- a/Playlist/PlaylistController.m +++ b/Playlist/PlaylistController.m @@ -500,19 +500,14 @@ { RepeatMode repeat = [self repeat]; - if (i < 0) - { - if (repeat != RepeatNone) + if (i < 0 || i >= [[self arrangedObjects] count] ) { + if ( repeat != RepeatNone ) + return nil; + + while ( i < 0 ) i += [[self arrangedObjects] count]; - else - return nil; - } - else if (i >= [[self arrangedObjects] count]) - { - if (repeat != RepeatNone) - i -= [[self arrangedObjects] count]; - else - return nil; + if ( i >= [[self arrangedObjects] count]) + i %= [[self arrangedObjects] count]; } return [[self arrangedObjects] objectAtIndex:i];