diff --git a/Audio/Chain/BufferChain.m b/Audio/Chain/BufferChain.m index c72c31608..bfed76bd6 100644 --- a/Audio/Chain/BufferChain.m +++ b/Audio/Chain/BufferChain.m @@ -52,10 +52,14 @@ } - (BOOL)open:(NSURL *)url withOutputFormat:(AudioStreamBasicDescription)outputFormat withUserInfo:(id)userInfo withRGInfo:(NSDictionary *)rgi { + if(!url) { + DLog(@"Player attempted to play invalid file..."); + return NO; + } [self setStreamURL:url]; [self setUserInfo:userInfo]; - if (![self buildChain]) { + if(![self buildChain]) { DLog(@"Couldn't build processing chain..."); return NO; } diff --git a/Playlist/PlaylistLoader.m b/Playlist/PlaylistLoader.m index 01d8e1f76..81f898a2d 100644 --- a/Playlist/PlaylistLoader.m +++ b/Playlist/PlaylistLoader.m @@ -1112,6 +1112,7 @@ NSURL *_Nullable urlForPath(NSString *_Nullable path); } - (NSArray *)addURL:(NSURL *)url { + if(!url) return [NSArray array]; return [self insertURLs:@[url] atIndex:(int)[[playlistController content] count] sort:NO]; } diff --git a/Utils/SandboxBroker.m b/Utils/SandboxBroker.m index 7683f2876..b3f1a3570 100644 --- a/Utils/SandboxBroker.m +++ b/Utils/SandboxBroker.m @@ -420,6 +420,7 @@ static inline void dispatch_async_reentrant(dispatch_queue_t queue, dispatch_blo } - (const void *)beginFolderAccess:(NSURL *)fileUrl { + if(!fileUrl) return NULL; NSURL *folderUrl = [SandboxBroker urlWithoutFragment:fileUrl]; if(![folderUrl isFileURL]) return NULL;