From ad44fbcda7ac2aaceb3f7b94a14bfb87ee660562 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 20 May 2024 11:50:56 -0500 Subject: [PATCH] In case of invalid XML in the payloads, at least still load the message --- .../java/eu/siacs/conversations/entities/Message.java | 8 ++++++-- .../siacs/conversations/persistance/DatabaseBackend.java | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/entities/Message.java b/src/main/java/eu/siacs/conversations/entities/Message.java index 088b99eafd065c517da4a96a3ad1b7e17c30fab5..9b99ec10a5522275949304547599af1d13b1052a 100644 --- a/src/main/java/eu/siacs/conversations/entities/Message.java +++ b/src/main/java/eu/siacs/conversations/entities/Message.java @@ -271,8 +271,12 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable final XmlReader xmlReader = new XmlReader(); xmlReader.setInputStream(ByteSource.wrap(payloadsStr.getBytes()).openStream()); Tag tag; - while ((tag = xmlReader.readTag()) != null) { - payloads.add(xmlReader.readElement(tag)); + try { + while ((tag = xmlReader.readTag()) != null) { + payloads.add(xmlReader.readElement(tag)); + } + } catch (IOException e) { + Log.e(Config.LOGTAG, "Failed to parse: " + payloadsStr, e); } } diff --git a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java index aa335514aab7818503a8b49461d7f09e51a6d684..ad8b8961171b5c7021908ce7aeada091006d282c 100644 --- a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -1137,7 +1137,7 @@ public class DatabaseBackend extends SQLiteOpenHelper { try { list.add(0, Message.fromCursor(cursor, conversation)); } catch (Exception e) { - Log.e(Config.LOGTAG, "unable to restore message"); + Log.e(Config.LOGTAG, "unable to restore message", e); } } cursor.close();