From: AsamK Date: Sat, 12 Jun 2021 06:47:18 +0000 (+0200) Subject: Skip invalid group records X-Git-Tag: v0.8.4~11 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/0001a9b3005ae2d20400296ea94be38f850c8dc7?ds=sidebyside Skip invalid group records Fixes #642 --- diff --git a/lib/src/main/java/org/asamk/signal/manager/Manager.java b/lib/src/main/java/org/asamk/signal/manager/Manager.java index 6b81142a..99a42a41 100644 --- a/lib/src/main/java/org/asamk/signal/manager/Manager.java +++ b/lib/src/main/java/org/asamk/signal/manager/Manager.java @@ -2240,7 +2240,16 @@ public class Manager implements Closeable { try (var attachmentAsStream = retrieveAttachmentAsStream(groupsMessage.asPointer(), tmpFile)) { var s = new DeviceGroupsInputStream(attachmentAsStream); DeviceGroup g; - while ((g = s.read()) != null) { + while (true) { + try { + g = s.read(); + } catch (IOException e) { + logger.warn("Sync groups contained invalid group, ignoring: {}", e.getMessage()); + continue; + } + if (g == null) { + break; + } var syncGroup = account.getGroupStore().getOrCreateGroupV1(GroupId.v1(g.getId())); if (syncGroup != null) { if (g.getName().isPresent()) {