From fcc372754e4e984368cc00b66311e70be065d741 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Wed, 6 Jan 2021 13:45:13 +0100 Subject: [PATCH] Fix NPE in BoBIQ by adding XmlStringBuilder.optIntAttribute(String, Integer) The method was missing and hence BoBIQ used optIntAttribute(String, int) instead, which resulted in an NPE if the Integer was null. Fixes SMACK-895. --- .../smack/util/XmlStringBuilder.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java b/smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java index 629b0b969..a494307e7 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java @@ -390,6 +390,22 @@ public class XmlStringBuilder implements Appendable, CharSequence, Element { return this; } + /** + * If the provided Integer argument is not null, then add a new XML attribute with the given name and the Integer as + * value. + * + * @param name the XML attribute name. + * @param value the optional integer to use as the attribute's value. + * @return a reference to this object. + * @since 4.4.1 + */ + public XmlStringBuilder optIntAttribute(String name, Integer value) { + if (value != null) { + attribute(name, value.toString()); + } + return this; + } + /** * Add the given attribute if value not null and {@code value => 0}. *