fixed #403

iNPUTmice created

Change summary

src/eu/siacs/conversations/utils/XmlHelper.java | 12 ++++++++++++
src/eu/siacs/conversations/xml/Element.java     | 13 +++----------
src/eu/siacs/conversations/xml/Tag.java         |  4 +++-
3 files changed, 18 insertions(+), 11 deletions(-)

Detailed changes

src/eu/siacs/conversations/utils/XmlHelper.java 🔗

@@ -0,0 +1,12 @@
+package eu.siacs.conversations.utils;
+
+public class XmlHelper {
+	public static String encodeEntities(String content) {
+		content = content.replace("&", "&");
+		content = content.replace("<", "&lt;");
+		content = content.replace(">", "&gt;");
+		content = content.replace("\"", "&quot;");
+		content = content.replace("'", "&apos;");
+		return content;
+	}
+}

src/eu/siacs/conversations/xml/Element.java 🔗

@@ -4,6 +4,8 @@ import java.util.ArrayList;
 import java.util.Hashtable;
 import java.util.List;
 
+import eu.siacs.conversations.utils.XmlHelper;
+
 public class Element {
 	protected String name;
 	protected Hashtable<String, String> attributes = new Hashtable<String, String>();
@@ -116,7 +118,7 @@ public class Element {
 			startTag.setAtttributes(this.attributes);
 			elementOutput.append(startTag);
 			if (content != null) {
-				elementOutput.append(encodeEntities(content));
+				elementOutput.append(XmlHelper.encodeEntities(content));
 			} else {
 				for (Element child : children) {
 					elementOutput.append(child.toString());
@@ -132,15 +134,6 @@ public class Element {
 		return name;
 	}
 
-	private String encodeEntities(String content) {
-		content = content.replace("&", "&amp;");
-		content = content.replace("<", "&lt;");
-		content = content.replace(">", "&gt;");
-		content = content.replace("\"", "&quot;");
-		content = content.replace("'", "&apos;");
-		return content;
-	}
-
 	public void clearChildren() {
 		this.children.clear();
 	}

src/eu/siacs/conversations/xml/Tag.java 🔗

@@ -5,6 +5,8 @@ import java.util.Iterator;
 import java.util.Map.Entry;
 import java.util.Set;
 
+import eu.siacs.conversations.utils.XmlHelper;
+
 public class Tag {
 	public static final int NO = -1;
 	public static final int START = 0;
@@ -85,7 +87,7 @@ public class Tag {
 				tagOutput.append(' ');
 				tagOutput.append(entry.getKey());
 				tagOutput.append("=\"");
-				tagOutput.append(entry.getValue());
+				tagOutput.append(XmlHelper.encodeEntities(entry.getValue()));
 				tagOutput.append('"');
 			}
 		}