diff --git a/pg/src/main/java/org/bouncycastle/bcpg/BCPGInputStream.java b/pg/src/main/java/org/bouncycastle/bcpg/BCPGInputStream.java index 045ba3b6ba..c0cca6ab57 100644 --- a/pg/src/main/java/org/bouncycastle/bcpg/BCPGInputStream.java +++ b/pg/src/main/java/org/bouncycastle/bcpg/BCPGInputStream.java @@ -205,6 +205,10 @@ public Packet readPacket() boolean[] flags = new boolean[3]; bodyLen = StreamUtil.readBodyLen(this, flags); partial = flags[StreamUtil.flag_partial]; + if (partial && bodyLen < 512) + { + throw new IOException("First chunk of partial body MUST have a length of at least 512 octets."); + } } else {