@@ -6,7 +6,6 @@ namespace FSharp.Data.Runtime.BaseTypes
66
77open System.ComponentModel
88open System.IO
9- open System.Xml
109open System.Xml .Linq
1110
1211#nowarn " 10001"
@@ -57,16 +56,7 @@ type XmlElement =
5756 IsError = false ) >]
5857 static member Create ( reader : TextReader ) =
5958 use reader = reader
60- // Secure XML parsing: disable DTD processing and external entities to prevent XXE attacks
61- let xmlReaderSettings =
62- new XmlReaderSettings(
63- DtdProcessing = DtdProcessing.Prohibit,
64- XmlResolver = null ,
65- MaxCharactersFromEntities = 1024 L * 1024 L
66- ) // 1MB limit
67-
68- use xmlReader = XmlReader.Create( reader, xmlReaderSettings)
69- let element = XDocument.Load( xmlReader, LoadOptions.PreserveWhitespace) .Root
59+ let element = XDocument.Load( reader, LoadOptions.PreserveWhitespace) .Root
7060 { XElement = element }
7161
7262 /// <exclude />
@@ -79,26 +69,12 @@ type XmlElement =
7969 use reader = reader
8070 let text = reader.ReadToEnd()
8171
82- // Secure XML parsing: disable DTD processing and external entities to prevent XXE attacks
83- let xmlReaderSettings =
84- new XmlReaderSettings(
85- DtdProcessing = DtdProcessing.Prohibit,
86- XmlResolver = null ,
87- MaxCharactersFromEntities = 1024 L * 1024 L
88- ) // 1MB limit
89-
9072 try
91- use stringReader = new StringReader( text)
92- use xmlReader = XmlReader.Create( stringReader, xmlReaderSettings)
93-
94- XDocument.Load( xmlReader, LoadOptions.PreserveWhitespace) .Root.Elements()
73+ XDocument.Parse( text, LoadOptions.PreserveWhitespace) .Root.Elements()
9574 |> Seq.map ( fun value -> { XElement = value })
9675 |> Seq.toArray
9776 with _ when text.TrimStart() .StartsWith " <" ->
98- use stringReader = new StringReader( " <root>" + text + " </root>" )
99- use xmlReader = XmlReader.Create( stringReader, xmlReaderSettings)
100-
101- XDocument.Load( xmlReader, LoadOptions.PreserveWhitespace) .Root.Elements()
77+ XDocument.Parse( " <root>" + text + " </root>" , LoadOptions.PreserveWhitespace) .Root.Elements()
10278 |> Seq.map ( fun value -> { XElement = value })
10379 |> Seq.toArray
10480
0 commit comments