1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-12-23 13:07:59 +01:00

Make parseElementText handle empty string elements

ie. elements which only content is the empty string, for example
<body></body>.

Fixes SMACK-598
This commit is contained in:
Florian Schmaus 2014-08-20 15:23:52 +02:00
parent 9eb5c2a49d
commit 1e5f0eb749

View file

@ -182,8 +182,17 @@ public class PacketParserUtils {
// Advance to the text of the Element // Advance to the text of the Element
int event = parser.next(); int event = parser.next();
if (event != XmlPullParser.TEXT) { if (event != XmlPullParser.TEXT) {
throw new XmlPullParserException( if (event == XmlPullParser.END_TAG) {
"Non-empty element tag not followed by text, while Mixed Content (XML 3.2.2) is disallowed"); // Assume this is the end tag of the start tag at the
// beginning of this method. Typical examples where this
// happens are body elements containing the empty string,
// ie. <body></body>, which appears to be valid XMPP, or a
// least it's not explicitly forbidden by RFC 6121 5.2.3
return "";
} else {
throw new XmlPullParserException(
"Non-empty element tag not followed by text, while Mixed Content (XML 3.2.2) is disallowed");
}
} }
res = parser.getText(); res = parser.getText();
event = parser.next(); event = parser.next();