mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2025-09-09 18:29:45 +02:00
Do not call XmlPullParser.getName() when the event is unknown
XmlPullParser.getName() only returns a result if the current parser event is START_ELEMENT or END_ELEMENT. If this is not the case, then the method may throw (if StAX is used).
This commit is contained in:
parent
899813a668
commit
31e4e1faf2
24 changed files with 80 additions and 109 deletions
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright © 2016-2019 Florian Schmaus
|
||||
* Copyright © 2016-2021 Florian Schmaus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -39,9 +39,9 @@ public class IoTSetRequestProvider extends IQProvider<IoTSetRequest> {
|
|||
List<SetData> data = new ArrayList<>(4);
|
||||
outerloop: while (true) {
|
||||
final XmlPullParser.Event eventType = parser.next();
|
||||
final String name = parser.getName();
|
||||
switch (eventType) {
|
||||
case START_ELEMENT:
|
||||
final String name = parser.getName();
|
||||
switch (name) {
|
||||
case "bool": {
|
||||
String valueName = parser.getAttributeValue(null, "name");
|
||||
|
|
|
@ -115,9 +115,9 @@ public class IoTFieldsExtensionProvider extends ExtensionElementProvider<IoTFiel
|
|||
List<IoTDataField> fields = new ArrayList<>();
|
||||
outerloop: while (true) {
|
||||
final XmlPullParser.Event eventType = parser.next();
|
||||
final String name = parser.getName();
|
||||
switch (eventType) {
|
||||
case START_ELEMENT:
|
||||
final String name = parser.getName();
|
||||
IoTDataField field = null;
|
||||
final String fieldName = parser.getAttributeValue(null, "name");
|
||||
final String fieldValue = parser.getAttributeValue(null, "value");
|
||||
|
|
|
@ -59,9 +59,9 @@ public class MamPrefsIQProvider extends IQProvider<MamPrefsIQ> {
|
|||
|
||||
outerloop: while (true) {
|
||||
final XmlPullParser.Event eventType = parser.next();
|
||||
final String name = parser.getName();
|
||||
switch (eventType) {
|
||||
case START_ELEMENT:
|
||||
final String name = parser.getName();
|
||||
switch (name) {
|
||||
case "always":
|
||||
alwaysJids = iterateJids(parser);
|
||||
|
@ -92,9 +92,9 @@ public class MamPrefsIQProvider extends IQProvider<MamPrefsIQ> {
|
|||
|
||||
outerloop: while (true) {
|
||||
final XmlPullParser.Event eventType = parser.next();
|
||||
final String name = parser.getName();
|
||||
switch (eventType) {
|
||||
case START_ELEMENT:
|
||||
final String name = parser.getName();
|
||||
switch (name) {
|
||||
case "jid":
|
||||
parser.next();
|
||||
|
|
|
@ -47,10 +47,10 @@ public class MamQueryIQProvider extends IQProvider<MamQueryIQ> {
|
|||
|
||||
outerloop: while (true) {
|
||||
final XmlPullParser.Event eventType = parser.next();
|
||||
final String name = parser.getName();
|
||||
|
||||
switch (eventType) {
|
||||
case START_ELEMENT:
|
||||
final String name = parser.getName();
|
||||
switch (name) {
|
||||
case DataForm.ELEMENT:
|
||||
dataForm = DataFormProvider.INSTANCE.parse(parser);
|
||||
|
|
|
@ -47,9 +47,9 @@ public class MamResultProvider extends ExtensionElementProvider<MamResultExtensi
|
|||
|
||||
outerloop: while (true) {
|
||||
final XmlPullParser.Event eventType = parser.next();
|
||||
final String name = parser.getName();
|
||||
switch (eventType) {
|
||||
case START_ELEMENT:
|
||||
final String name = parser.getName();
|
||||
switch (name) {
|
||||
case Forwarded.ELEMENT:
|
||||
forwarded = ForwardedProvider.parseForwardedMessage(parser, xmlEnvironment);
|
||||
|
|
|
@ -50,10 +50,11 @@ public class MarkupElementProvider extends ExtensionElementProvider<MarkupElemen
|
|||
|
||||
while (true) {
|
||||
XmlPullParser.Event tag = parser.next();
|
||||
String name = parser.getName();
|
||||
String name;
|
||||
int start, end;
|
||||
switch (tag) {
|
||||
case START_ELEMENT:
|
||||
name = parser.getName();
|
||||
switch (name) {
|
||||
case BlockQuoteElement.ELEMENT:
|
||||
start = ParserUtils.getIntegerAttributeOrThrow(parser, MarkupChildElement.ATTR_START,
|
||||
|
@ -108,6 +109,11 @@ public class MarkupElementProvider extends ExtensionElementProvider<MarkupElemen
|
|||
break;
|
||||
|
||||
case END_ELEMENT:
|
||||
if (parser.getDepth() == initialDepth) {
|
||||
return markup.build();
|
||||
}
|
||||
|
||||
name = parser.getName();
|
||||
switch (name) {
|
||||
case SpanElement.ELEMENT:
|
||||
markup.addSpan(spanStart, spanEnd, spanStyles);
|
||||
|
@ -128,9 +134,6 @@ public class MarkupElementProvider extends ExtensionElementProvider<MarkupElemen
|
|||
}
|
||||
listBuilder.endList();
|
||||
break;
|
||||
|
||||
case MarkupElement.ELEMENT:
|
||||
return markup.build();
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue