From 8f5f200858e85f9690685100da81a86c6c089418 Mon Sep 17 00:00:00 2001 From: David Renshaw Date: Thu, 30 Sep 2021 22:52:00 -0400 Subject: [PATCH] verify that a list pointer has the correct kind --- runtime/src/main/java/org/capnproto/WireHelpers.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/runtime/src/main/java/org/capnproto/WireHelpers.java b/runtime/src/main/java/org/capnproto/WireHelpers.java index 64e6fff..4a57a89 100644 --- a/runtime/src/main/java/org/capnproto/WireHelpers.java +++ b/runtime/src/main/java/org/capnproto/WireHelpers.java @@ -1165,6 +1165,10 @@ final class WireHelpers { FollowFarsResult resolved = followFars(ref, refTarget, segment); + if (WirePointer.kind(resolved.ref) != WirePointer.LIST) { + throw new DecodeException("Message contains non-list pointer where list was expected."); + } + byte elementSize = ListPointer.elementSize(resolved.ref); switch (elementSize) { case ElementSize.INLINE_COMPOSITE : {