diff --git a/hal/src/main/native/athena/FRCDriverStation.cpp b/hal/src/main/native/athena/FRCDriverStation.cpp index 0f4b69b46c..e7ef1948f9 100644 --- a/hal/src/main/native/athena/FRCDriverStation.cpp +++ b/hal/src/main/native/athena/FRCDriverStation.cpp @@ -110,10 +110,15 @@ static int32_t HAL_GetControlWordInternal(HAL_ControlWord* controlWord) { static int32_t HAL_GetMatchInfoInternal(HAL_MatchInfo* info) { MatchType_t matchType = MatchType_t::kMatchType_none; + info->gameSpecificMessageSize = sizeof(info->gameSpecificMessage); int status = FRC_NetworkCommunication_getMatchInfo( info->eventName, &matchType, &info->matchNumber, &info->replayNumber, info->gameSpecificMessage, &info->gameSpecificMessageSize); + if (info->gameSpecificMessageSize > sizeof(info->gameSpecificMessage)) { + info->gameSpecificMessageSize = 0; + } + info->matchType = static_cast(matchType); *(std::end(info->eventName) - 1) = '\0';