#1783 L3H Talker Alias guard against negative length aliases

This commit is contained in:
Dennis Sheirer
2024-01-10 02:45:01 -05:00
parent 87ce08e9b9
commit e1e75710cb
2 changed files with 14 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
#
# ******************************************************************************
# Copyright (C) 2014-2023 Dennis Sheirer
# Copyright (C) 2014-2024 Dennis Sheirer
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,4 +28,4 @@
# tag name, specifically the dashes inserted before and after the alpha/beta labels.
# See: https://github.com/DSheirer/sdrtrunk/issues/1651
projectVersion=0.6.0
projectVersion=0.7.0-alpha-1

View File

@@ -78,15 +78,21 @@ public class L3HarrisTalkerAlias extends MacStructure
{
if(mAliasIdentifier == null)
{
int length = getLength() * 8 + getOffset();
int length = getLength();
if(length > getMessage().size())
if(length > 0)
{
length = getMessage().size();
}
length *= 8;
length += getOffset();
String alias = new String(getMessage().getSubMessage(ALIAS_START + getOffset(), length).getBytes()).trim();
mAliasIdentifier = P25TalkerAliasIdentifier.create(alias);
if(length > getMessage().size())
{
length = getMessage().size();
}
String alias = new String(getMessage().getSubMessage(ALIAS_START + getOffset(), length).getBytes()).trim();
mAliasIdentifier = P25TalkerAliasIdentifier.create(alias);
}
}
return mAliasIdentifier;