Perform bounds checking before list indexer to avoid frequent exceptions (#4438)

* Perform bounds checking before list indexer to avoid frequent ArgumentOutOfRangeExceptions

* do a single compare after casting id and .Count to uint
This commit is contained in:
jhorv 2023-02-25 05:26:39 -05:00 committed by GitHub
parent 095ad923ad
commit 58207685c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -79,10 +79,18 @@ namespace Ryujinx.Graphics.Vulkan
id--; id--;
try try
{
if ((uint)id < (uint)_list.Count)
{ {
value = _list[id]; value = _list[id];
return value != null; return value != null;
} }
else
{
value = null;
return false;
}
}
catch (ArgumentOutOfRangeException) catch (ArgumentOutOfRangeException)
{ {
value = null; value = null;