mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Merge pull request #6860 from cvium/fix_xml_endless_loops
This commit is contained in:
commit
fa366f0099
@ -319,6 +319,12 @@ namespace MediaBrowser.Providers.Music
|
|||||||
{
|
{
|
||||||
case "name-credit":
|
case "name-credit":
|
||||||
{
|
{
|
||||||
|
if (reader.IsEmptyElement)
|
||||||
|
{
|
||||||
|
reader.Read();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
using var subReader = reader.ReadSubtree();
|
using var subReader = reader.ReadSubtree();
|
||||||
return ParseArtistNameCredit(subReader);
|
return ParseArtistNameCredit(subReader);
|
||||||
}
|
}
|
||||||
@ -355,6 +361,12 @@ namespace MediaBrowser.Providers.Music
|
|||||||
{
|
{
|
||||||
case "artist":
|
case "artist":
|
||||||
{
|
{
|
||||||
|
if (reader.IsEmptyElement)
|
||||||
|
{
|
||||||
|
reader.Read();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
var id = reader.GetAttribute("id");
|
var id = reader.GetAttribute("id");
|
||||||
using var subReader = reader.ReadSubtree();
|
using var subReader = reader.ReadSubtree();
|
||||||
return ParseArtistArtistCredit(subReader, id);
|
return ParseArtistArtistCredit(subReader, id);
|
||||||
@ -457,8 +469,8 @@ namespace MediaBrowser.Providers.Music
|
|||||||
};
|
};
|
||||||
|
|
||||||
using var reader = XmlReader.Create(oReader, settings);
|
using var reader = XmlReader.Create(oReader, settings);
|
||||||
reader.MoveToContent();
|
await reader.MoveToContentAsync().ConfigureAwait(false);
|
||||||
reader.Read();
|
await reader.ReadAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
// Loop through each element
|
// Loop through each element
|
||||||
while (!reader.EOF && reader.ReadState == ReadState.Interactive)
|
while (!reader.EOF && reader.ReadState == ReadState.Interactive)
|
||||||
@ -471,7 +483,7 @@ namespace MediaBrowser.Providers.Music
|
|||||||
{
|
{
|
||||||
if (reader.IsEmptyElement)
|
if (reader.IsEmptyElement)
|
||||||
{
|
{
|
||||||
reader.Read();
|
await reader.ReadAsync().ConfigureAwait(false);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -481,14 +493,14 @@ namespace MediaBrowser.Providers.Music
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
reader.Skip();
|
await reader.SkipAsync().ConfigureAwait(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
reader.Read();
|
await reader.ReadAsync().ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -755,6 +767,12 @@ namespace MediaBrowser.Providers.Music
|
|||||||
|
|
||||||
case "artist-credit":
|
case "artist-credit":
|
||||||
{
|
{
|
||||||
|
if (reader.IsEmptyElement)
|
||||||
|
{
|
||||||
|
reader.Read();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
using var subReader = reader.ReadSubtree();
|
using var subReader = reader.ReadSubtree();
|
||||||
var artist = ParseArtistCredit(subReader);
|
var artist = ParseArtistCredit(subReader);
|
||||||
|
|
||||||
|
@ -784,7 +784,13 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
|||||||
|
|
||||||
case "fanart":
|
case "fanart":
|
||||||
{
|
{
|
||||||
var subtree = reader.ReadSubtree();
|
if (reader.IsEmptyElement)
|
||||||
|
{
|
||||||
|
reader.Read();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
using var subtree = reader.ReadSubtree();
|
||||||
if (!subtree.ReadToDescendant("thumb"))
|
if (!subtree.ReadToDescendant("thumb"))
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user