diff --git a/src/main/java/org/peergos/protocol/bitswap/BitswapEngine.java b/src/main/java/org/peergos/protocol/bitswap/BitswapEngine.java index 3e9927c8..fb4ddb9c 100644 --- a/src/main/java/org/peergos/protocol/bitswap/BitswapEngine.java +++ b/src/main/java/org/peergos/protocol/bitswap/BitswapEngine.java @@ -158,7 +158,12 @@ public void receiveMessage(MessageOuterClass.Message msg, Stream source, Counter int presentBlocks = 0; if (msg.hasWantlist()) { for (MessageOuterClass.Message.Wantlist.Entry e : msg.getWantlist().getEntriesList()) { - Cid c = Cid.cast(e.getBlock().toByteArray()); + Cid c; + try { + c = Cid.cast(e.getBlock().toByteArray()); + } catch (Exception ex) { + continue; + } Optional auth = e.getAuth().isEmpty() ? Optional.empty() : Optional.of(ArrayOps.bytesToHex(e.getAuth().toByteArray())); boolean isCancel = e.getCancel(); boolean sendDontHave = e.getSendDontHave();