diff --git a/runtime-rpc/src/main/java/org/capnproto/RpcState.java b/runtime-rpc/src/main/java/org/capnproto/RpcState.java index 0eb4fb5..4791c87 100644 --- a/runtime-rpc/src/main/java/org/capnproto/RpcState.java +++ b/runtime-rpc/src/main/java/org/capnproto/RpcState.java @@ -870,7 +870,9 @@ final class RpcState { } var exportId = writeDescriptor(cap, capTableBuilder.get(ii), fds); - exports.add(exportId); + if (exportId != null) { + exports.add(exportId); + } } return exports.stream() @@ -878,7 +880,7 @@ final class RpcState { .toArray(); } - private int writeDescriptor(ClientHook cap, RpcProtocol.CapDescriptor.Builder descriptor, List fds) { + private Integer writeDescriptor(ClientHook cap, RpcProtocol.CapDescriptor.Builder descriptor, List fds) { ClientHook inner = cap; for (;;) { var resolved = inner.getResolved();