Browse Source

Fixed forum-18448: crash when editing XML file containing a reference to a non-existing DTD.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2665 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 18 years ago
parent
commit
bd4fd6b200
  1. 4
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlParser.cs
  2. 4
      src/AddIns/Misc/SearchAndReplace/Project/Engine/TextIterator/ForwardTextIterator.cs
  3. 1
      src/Main/Base/Project/Src/TextEditor/XmlFormattingStrategy.cs

4
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlParser.cs

@ -139,7 +139,7 @@ namespace ICSharpCode.XmlEditor @@ -139,7 +139,7 @@ namespace ICSharpCode.XmlEditor
try {
StringReader reader = new StringReader(xml);
XmlTextReader xmlReader = new XmlTextReader(reader);
xmlReader.XmlResolver = null;
xmlReader.XmlResolver = null; // prevent XmlTextReader from loading external DTDs
while (xmlReader.Read()) {
switch (xmlReader.NodeType) {
case XmlNodeType.Element:
@ -155,8 +155,6 @@ namespace ICSharpCode.XmlEditor @@ -155,8 +155,6 @@ namespace ICSharpCode.XmlEditor
}
} catch (XmlException) {
// Do nothing.
} catch (WebException) {
// Do nothing.
}
path.Compact();

4
src/AddIns/Misc/SearchAndReplace/Project/Engine/TextIterator/ForwardTextIterator.cs

@ -60,7 +60,9 @@ namespace SearchAndReplace @@ -60,7 +60,9 @@ namespace SearchAndReplace
public ForwardTextIterator(ProvidedDocumentInformation info)
{
Debug.Assert(info != null);
if (info == null)
throw new ArgumentNullException("info");
this.info = info;
this.textBuffer = info.TextBuffer;
this.position = info.CurrentOffset;

1
src/Main/Base/Project/Src/TextEditor/XmlFormattingStrategy.cs

@ -116,6 +116,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor @@ -116,6 +116,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor
// TextReader line number begin with 1, #dev line numbers with 0
using (StringReader stringReader = new StringReader(document.TextContent)) {
XmlTextReader r = new XmlTextReader(stringReader);
r.XmlResolver = null; // prevent XmlTextReader from loading external DTDs
while (r.Read()) {
if (wasEmptyElement) {
wasEmptyElement = false;

Loading…
Cancel
Save