diff --git a/.gitignore b/.gitignore index 8771b4e27..4fd37c3d5 100644 --- a/.gitignore +++ b/.gitignore @@ -366,4 +366,3 @@ epg.xml m3u.m3u ghtoken Dockerfile -Dockerfile diff --git a/StreamMaster.Domain/Common/FileUtil.cs b/StreamMaster.Domain/Common/FileUtil.cs index ab0d6e9ae..eaf93b254 100644 --- a/StreamMaster.Domain/Common/FileUtil.cs +++ b/StreamMaster.Domain/Common/FileUtil.cs @@ -6,6 +6,7 @@ using System.Net; using System.Text; using System.Text.Json; +using System.Xml; using System.Xml.Serialization; namespace StreamMaster.Domain.Common; @@ -43,9 +44,16 @@ public static string CleanUpFileName(string fullName) try { + XmlReaderSettings settings = new() + { + DtdProcessing = DtdProcessing.Parse, + ValidationType = ValidationType.DTD, + MaxCharactersFromEntities = 1024 + }; XmlSerializer serializer = new(typeof(XMLTV)); - using Stream reader = GetFileDataStream(filepath); + using Stream fileStream = GetFileDataStream(filepath); + using XmlReader reader = XmlReader.Create(fileStream, settings); object? result = serializer.Deserialize(reader); return (XMLTV?)result; }