From 3bd2cc9860016486b369b9e02e6feb73abd5411a Mon Sep 17 00:00:00 2001 From: Luke F <283772+lukefor@users.noreply.github.com> Date: Fri, 29 Jul 2022 20:17:30 +0100 Subject: [PATCH] Resolve a System.IndexOutOfRangeException when requesting IDs that do not exist via /Users/.../Items. Previously it was possible for the 'index' values in 'positions' to refer beyond 'size'. [ERR] Error processing request. URL "GET" "/Users/.../Items". System.IndexOutOfRangeException: Index was outside the bounds of the array. at MediaBrowser.Controller.Entities.Folder.SortItemsByRequest(InternalItemsQuery query, IReadOnlyList`1 items) at MediaBrowser.Controller.Entities.Folder.GetItems(InternalItemsQuery query) at Jellyfin.Api.Controllers.ItemsController.GetItems --- MediaBrowser.Controller/Entities/Folder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index b6983b73ee..dda5d70e86 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -901,7 +901,7 @@ namespace MediaBrowser.Controller.Entities int index = 0; for (int i = 0; i < ids.Length; i++) { - if (positions.TryAdd(ids[i], index)) + if (items.Any(item => item.Id == ids[i]) && positions.TryAdd(ids[i], index)) { index++; }