bugfix: SendOsc crash if no address

This commit is contained in:
monsieurgustav
2016-03-02 00:01:35 +01:00
parent 2de2178523
commit fbc613cf94
@@ -137,6 +137,12 @@ FOscDataElemStruct UOscFunctionLibrary::FromString(FName input)
void UOscFunctionLibrary::SendOsc(FName Address, const TArray<FOscDataElemStruct> & Data, int32 TargetIndex) void UOscFunctionLibrary::SendOsc(FName Address, const TArray<FOscDataElemStruct> & Data, int32 TargetIndex)
{ {
if(!Address.IsValid())
{
UE_LOG(LogOSC, Error, TEXT("Empty OSC address"));
return;
}
if(Address.GetDisplayNameEntry()->IsWide()) if(Address.GetDisplayNameEntry()->IsWide())
{ {
const auto tmp = Address.GetPlainNameString(); const auto tmp = Address.GetPlainNameString();
@@ -144,6 +150,13 @@ void UOscFunctionLibrary::SendOsc(FName Address, const TArray<FOscDataElemStruct
return; return;
} }
if(Address.GetPlainANSIString()[0] != '/')
{
const auto tmp = Address.GetPlainNameString();
UE_LOG(LogOSC, Error, TEXT("Invalid OSC address \"%s\": must start with '/'"), *tmp);
return;
}
static_assert(sizeof(uint8) == sizeof(char), "Cannot cast uint8 to char"); static_assert(sizeof(uint8) == sizeof(char), "Cannot cast uint8 to char");
uint8 buffer[1024]; uint8 buffer[1024];