Don't crash, no matter why punycode fails

Stephen Paul Weber created

Change summary

src/main/java/eu/siacs/conversations/entities/Bookmark.java     | 2 +-
src/main/java/eu/siacs/conversations/entities/MucOptions.java   | 2 +-
src/main/java/eu/siacs/conversations/parser/AbstractParser.java | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/entities/Bookmark.java 🔗

@@ -201,7 +201,7 @@ public class Bookmark extends Element implements ListItem {
 		} catch (final IllegalArgumentException e) {
 			try {
 				return tryFix ? getFullJid(gnu.inet.encoding.Punycode.encode(nick), false) : null;
-			} catch (final gnu.inet.encoding.PunycodeException | ArrayIndexOutOfBoundsException e2) {
+			} catch (final Exception e2) {
 				return null;
 			}
 		}

src/main/java/eu/siacs/conversations/entities/MucOptions.java 🔗

@@ -626,7 +626,7 @@ public class MucOptions {
         } catch (final IllegalArgumentException e) {
             try {
                 return tryFix ? createJoinJid(gnu.inet.encoding.Punycode.encode(nick), false) : null;
-            } catch (final gnu.inet.encoding.PunycodeException | ArrayIndexOutOfBoundsException e2) {
+            } catch (final Exception e2) {
                 return null;
             }
         }

src/main/java/eu/siacs/conversations/parser/AbstractParser.java 🔗

@@ -158,7 +158,7 @@ public abstract class AbstractParser {
 			if (nickname == null && nicknameIn != null && nick != null && gnu.inet.encoding.Punycode.decode(nick).equals(nicknameIn)) {
 				nickname = nicknameIn;
 			}
-		} catch (final gnu.inet.encoding.PunycodeException | ArrayIndexOutOfBoundsException e) { }
+		} catch (final Exception e) { }
 		Set<MucOptions.Hat> hats = new TreeSet<>();
 		for (Element hat : hatsEl.getChildren()) {
 			if ("hat".equals(hat.getName()) && ("urn:xmpp:hats:0".equals(hat.getNamespace()) || "xmpp:prosody.im/protocol/hats:1".equals(hat.getNamespace()))) {