diff --git a/com.unity.robotics.ros-tcp-connector/Runtime/MessageGeneration/MessageDeserializer.cs b/com.unity.robotics.ros-tcp-connector/Runtime/MessageGeneration/MessageDeserializer.cs index a1335c85..9c7c30a0 100644 --- a/com.unity.robotics.ros-tcp-connector/Runtime/MessageGeneration/MessageDeserializer.cs +++ b/com.unity.robotics.ros-tcp-connector/Runtime/MessageGeneration/MessageDeserializer.cs @@ -138,7 +138,7 @@ public void Read(out string value) value = System.Text.Encoding.UTF8.GetString(data, offset, length); #else // ROS2 strings have a null byte at the end - value = System.Text.Encoding.UTF8.GetString(data, offset, length - 1); + value = System.Text.Encoding.UTF8.GetString(data, offset, Math.Max(0, length - 1)); #endif offset += length; }