diff --git a/src/eu/siacs/conversations/xml/Tag.java b/src/eu/siacs/conversations/xml/Tag.java index 7055e2b39..2d5ffdbc0 100644 --- a/src/eu/siacs/conversations/xml/Tag.java +++ b/src/eu/siacs/conversations/xml/Tag.java @@ -56,10 +56,12 @@ public class Tag { } public boolean isStart(String needle) { + if (needle==null) return false; return (this.type == START) && (needle.equals(this.name)); } public boolean isEnd(String needle) { + if (needle==null) return false; return (this.type == END) && (needle.equals(this.name)); } diff --git a/src/eu/siacs/conversations/xml/XmlReader.java b/src/eu/siacs/conversations/xml/XmlReader.java index 4c418027d..98bee3eef 100644 --- a/src/eu/siacs/conversations/xml/XmlReader.java +++ b/src/eu/siacs/conversations/xml/XmlReader.java @@ -89,12 +89,15 @@ public class XmlReader { Element element = new Element(currentTag.getName()); element.setAttributes(currentTag.getAttributes()); Tag nextTag = this.readTag(); + if (nextTag == null) { + throw new IOException("unterupted mid tag"); + } if(nextTag.isNo()) { element.setContent(nextTag.getName()); nextTag = this.readTag(); - } - if (nextTag == null) { - throw new IOException("unterupted mid tag"); + if (nextTag == null) { + throw new IOException("unterupted mid tag"); + } } while(!nextTag.isEnd(element.getName())) { if (!nextTag.isNo()) {