From d8dc608e89227feae6e87309790b1a2eddae57aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 6 Feb 2022 21:38:10 +0100 Subject: [PATCH] Fix potential (silent) NRE when no data is available after all. --- .../java/li/cil/oc2/common/network/ProjectorLoadBalancer.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/li/cil/oc2/common/network/ProjectorLoadBalancer.java b/src/main/java/li/cil/oc2/common/network/ProjectorLoadBalancer.java index fa3fed94..ec0076d5 100644 --- a/src/main/java/li/cil/oc2/common/network/ProjectorLoadBalancer.java +++ b/src/main/java/li/cil/oc2/common/network/ProjectorLoadBalancer.java @@ -282,6 +282,10 @@ public final class ProjectorLoadBalancer { assert runningEncode == null || runningEncode.isDone(); runningEncode = ENCODER_WORKERS.submit(() -> { final ByteBuffer frame = frameSupplier.get(); + if (frame == null) { + return; + } + final int budgetCost = frame.limit() * players.size(); BUDGET.accumulateAndGet(budgetCost, (budget, cost) -> budget - cost);