aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Data/SqliteItemRepository.cs
diff options
context:
space:
mode:
authorErwin de Haan <1627021+EraYaN@users.noreply.github.com>2024-07-15 14:44:22 +0200
committerGitHub <noreply@github.com>2024-07-15 08:44:22 -0400
commit3262f8dc2a7e8fb03ecd345eeca70bdb372389e3 (patch)
treed3d3ac3eea26c0ef50d677b219b7f85ab8c41834 /Emby.Server.Implementations/Data/SqliteItemRepository.cs
parentc666f9d0501bbe0235315d2c2e668ec6f86eb345 (diff)
Add check for ProviderIds to prevent '=' from appearing in keys, also support '=' in the values. (#12274)
Diffstat (limited to 'Emby.Server.Implementations/Data/SqliteItemRepository.cs')
-rw-r--r--Emby.Server.Implementations/Data/SqliteItemRepository.cs5
1 files changed, 3 insertions, 2 deletions
diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
index 81ee55d26..c2e3312ab 100644
--- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs
+++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
@@ -1046,9 +1046,10 @@ namespace Emby.Server.Implementations.Data
foreach (var part in value.SpanSplit('|'))
{
var providerDelimiterIndex = part.IndexOf('=');
- if (providerDelimiterIndex != -1 && providerDelimiterIndex == part.LastIndexOf('='))
+ // Don't let empty values through
+ if (providerDelimiterIndex != -1 && part.Length != providerDelimiterIndex + 1)
{
- item.SetProviderId(part.Slice(0, providerDelimiterIndex).ToString(), part.Slice(providerDelimiterIndex + 1).ToString());
+ item.SetProviderId(part[..providerDelimiterIndex].ToString(), part[(providerDelimiterIndex + 1)..].ToString());
}
}
}