Add check for ProviderIds to prevent '=' from appearing in keys, also support '=' in the values. (#12274)

This commit is contained in:
Erwin de Haan
2024-07-15 14:44:22 +02:00
committed by GitHub
parent c666f9d050
commit 3262f8dc2a
3 changed files with 60 additions and 23 deletions

View File

@@ -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());
}
}
}