From e6a5b4288eba8e7980f61876ba1f93c9fb542aab Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Thu, 10 Mar 2022 13:24:18 -0500 Subject: [PATCH] Do not crash when XMPP URI contains invalid JID --- .../conversations/ui/adapter/MessageAdapter.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index 8b15289ea..12153206c 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -501,12 +501,14 @@ public class MessageAdapter extends ArrayAdapter { for (final URLSpan urlspan : body.getSpans(0, body.length() - 1, URLSpan.class)) { Uri uri = Uri.parse(urlspan.getURL()); if ("xmpp".equals(uri.getScheme())) { - Contact contact = roster.getContact(Jid.of(uri.getSchemeSpecificPart())); - body.replace( - body.getSpanStart(urlspan), - body.getSpanEnd(urlspan), - contact.getDisplayName() - ); + try { + Contact contact = roster.getContact(Jid.of(uri.getSchemeSpecificPart())); + body.replace( + body.getSpanStart(urlspan), + body.getSpanEnd(urlspan), + contact.getDisplayName() + ); + } catch (final IllegalArgumentException e) { /* bad JID */ } } } viewHolder.messageBody.setAutoLinkMask(0);