From be27171236cb72bf7ebcf82dbc9e2edd0f1b08b7 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Tue, 6 Dec 2022 21:14:09 -0800 Subject: [PATCH] [wpilibj] Shuffleboard: Check for null sendable (#4772) Adding a null sendable to a container could result in a delayed NullPointerException. --- .../edu/wpi/first/wpilibj/shuffleboard/ContainerHelper.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/shuffleboard/ContainerHelper.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/shuffleboard/ContainerHelper.java index d939059567..a448970273 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/shuffleboard/ContainerHelper.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/shuffleboard/ContainerHelper.java @@ -10,6 +10,7 @@ import edu.wpi.first.networktables.NetworkTableType; import edu.wpi.first.util.function.FloatSupplier; import edu.wpi.first.util.sendable.Sendable; import edu.wpi.first.util.sendable.SendableRegistry; +import edu.wpi.first.wpilibj.util.ErrorMessages; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedHashMap; @@ -57,6 +58,7 @@ final class ContainerHelper { } ComplexWidget add(String title, Sendable sendable) { + ErrorMessages.requireNonNullParam(sendable, "sendable", "add"); checkTitle(title); ComplexWidget widget = new ComplexWidget(m_container, title, sendable); m_components.add(widget); @@ -64,6 +66,7 @@ final class ContainerHelper { } ComplexWidget add(Sendable sendable) { + ErrorMessages.requireNonNullParam(sendable, "sendable", "add"); String name = SendableRegistry.getName(sendable); if (name.isEmpty()) { throw new IllegalArgumentException("Sendable must have a name");